Skip to content
Snippets Groups Projects
Commit 149576d3 authored by Baptiste Bauvin's avatar Baptiste Bauvin
Browse files

Reworking'

parent 3c2a2df3
No related branches found
No related tags found
No related merge requests found
Showing
with 125 additions and 309 deletions
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](http://www.gnu.org/licenses/gpl-3.0)
[![Build Status](https://gitlab.lis-lab.fr/baptiste.bauvin/summit/badges/master/pipeline.svg)](https://gitlab.lis-lab.fr/baptiste.bauvin/summit/badges/master/pipeline.svg)
[![Coverage Report](https://gitlab.lis-lab.fr/baptiste.bauvin/summit/badges/master/coverage.svg)](http://baptiste.bauvin.pages.lis-lab.fr/summit/coverage/index.html)
# Supervised MultiModal Integration Tool's Readme
This project aims to be an easy-to-use solution to run a prior benchmark on a dataset and evaluate mono- & multi-view algorithms capacity to classify it correctly.
## Getting Started
### Prerequisites (will be automatically installed)
To be able to use this project, you'll need :
* [Python 3.6](https://docs.python.org/3/)
And the following python modules :
* [numpy](http://www.numpy.org/), [scipy](https://scipy.org/),
* [matplotlib](http://matplotlib.org/) - Used to plot results,
* [sklearn](http://scikit-learn.org/stable/) - Used for the monoview classifiers,
* [joblib](https://pypi.python.org/pypi/joblib) - Used to compute on multiple threads,
* [h5py](https://www.h5py.org) - Used to generate HDF5 datasets on hard drive and use them to spare RAM,
* [pickle](https://docs.python.org/3/library/pickle.html) - Used to store some results,
* [pandas](https://pandas.pydata.org/) - Used to manipulate data efficiently,
* [six](https://pypi.org/project/six/) -
* [m2r](https://pypi.org/project/m2r/) - Used to generate documentation from the readme,
* [docutils](https://pypi.org/project/docutils/) - Used to generate documentation,
* [pyyaml](https://pypi.org/project/PyYAML/) - Used to read the config files,
* [plotly](https://plot.ly/) - Used to generate interactive HTML visuals,
* [tabulate](https://pypi.org/project/tabulate/) - Used to generated the confusion matrix.
### Installing
Once you cloned the project from the [gitlab repository](https://gitlab.lis-lab.fr/baptiste.bauvin/summit/), you just have to use :
```
cd path/to/summit/
pip install -e .
```
In the `summit` directory to install SuMMIT and its dependencies.
### Running the tests
To run the test suite of SuMMIT, run :
```
cd path/to/summit
pytest
```
### Running on simulated data
In order to run it you'll need to try on **simulated** data with the command
```python
from multiview_platform.execute import execute
execute("example 1")
```
This will run the first example.
For more information about the examples, see the [documentation](http://baptiste.bauvin.pages.lis-lab.fr/summit/).
Results will be stored in the results directory of the installation path :
`path/to/summit/multiview_platform/examples/results`.
The documentation proposes a detailed interpretation of the results through [6 tutorials](http://baptiste.bauvin.pages.lis-lab.fr/summit/).
### Discovering the arguments
All the arguments of the platform are stored in a YAML config file. Some config files are given as examples.
The file stored in `summit/config_files/config.yml` is documented and it is highly recommended
to read it carefully before playing around with the parameters.
You can create your own configuration file. In order to run the platform with it, run :
```python
from summit.execute import execute
execute(config_path="/absolute/path/to/your/config/file")
```
For further information about classifier-specific arguments, see the [documentation](http://baptiste.bauvin.pages.lis-lab.fr/summit/).
### Dataset compatibility
In order to start a benchmark on your own dataset, you need to format it so SuMMIT can use it. To do so, a [python script](https://gitlab.lis-lab.fr/baptiste.bauvin/summit/-/blob/master/format_dataset.py) is provided.
For more information, see [Example 6](http://baptiste.bauvin.pages.lis-lab.fr/summit/tutorials/example4.html)
### Running on your dataset
Once you have formatted your dataset, to run SuMMIT on it you need to modify the config file as
```yaml
name: ["your_file_name"]
*
pathf: "path/to/your/dataset"
```
This will run a full benchmark on your dataset using all available views and labels.
It is highly recommended to follow the documentation's [tutorials](http://baptiste.bauvin.pages.lis-lab.fr/summit/tutorials/index.html) to learn the use of each parameter.
## Author
* **Baptiste BAUVIN**
* **Dominique BENIELLI**
* **Alexis PROD'HOMME**
.. image:: https://img.shields.io/badge/License-GPL%20v3-blue.svg)](http://www.gnu.org/licenses/gpl-3.0
:alt: License: GPL v3
.. image:: https://gitlab.lis-lab.fr/baptiste.bauvin/summit/badges/master/pipeline.svg
:alt: Pipeline status
.. image:: https://gitlab.lis-lab.fr/baptiste.bauvin/summit/badges/master/coverage.svg
:target: http://baptiste.bauvin.pages.lis-lab.fr/summit/coverage/index.html
:alt: Coverage
Supervised MultiModal Integration Tool's Readme
===============================================
This project aims to be an easy-to-use solution to run a prior benchmark on a dataset and evaluate mono- & multi-view algorithms capacity to classify it correctly.
Getting Started
---------------
Prerequisites (will be automatically installed)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
To be able to use this project, you'll need :
* `Python 3.6 <https://docs.python.org/3/>`_
And the following python modules :
* `numpy <http://www.numpy.org/>`_, `scipy <https://scipy.org/>`_,
* `matplotlib <http://matplotlib.org/>`_ - Used to plot results,
* `sklearn <http://scikit-learn.org/stable/>`_ - Used for the monoview classifiers,
* `joblib <https://pypi.python.org/pypi/joblib>`_ - Used to compute on multiple threads,
* `h5py <https://www.h5py.org>`_ - Used to generate HDF5 datasets on hard drive and use them to spare RAM,
* `pickle <https://docs.python.org/3/library/pickle.html>`_ - Used to store some results,
* `pandas <https://pandas.pydata.org/>`_ - Used to manipulate data efficiently,
* `six <https://pypi.org/project/six/>`_ -
* `m2r <https://pypi.org/project/m2r/>`_ - Used to generate documentation from the readme,
* `docutils <https://pypi.org/project/docutils/>`_ - Used to generate documentation,
* `pyyaml <https://pypi.org/project/PyYAML/>`_ - Used to read the config files,
* `plotly <https://plot.ly/>`_ - Used to generate interactive HTML visuals,
* `tabulate <https://pypi.org/project/tabulate/>`_ - Used to generated the confusion matrix.
Installing
<<<<<<<<<<
Once you cloned the project from the `gitlab repository <https://gitlab.lis-lab.fr/baptiste.bauvin/summit/>`_, you just have to use :
.. code:: bash
cd path/to/summit/
pip install -e .
In the `summit` directory to install SuMMIT and its dependencies.
Running the tests
<<<<<<<<<<<<<<<<<
To run the test suite of SuMMIT, run :
.. code:: bash
cd path/to/summit
pytest
Running on simulated data
<<<<<<<<<<<<<<<<<<<<<<<<<
For your first go with SuMMIT, you can run it on simulated data with
.. code:: bash
python
>>> from summit.execute import execute
>>> execute("example 1")
This will run the benchmark of `documentation's Example 1 <http://baptiste.bauvin.pages.lis-lab.fr/summit/tutorials/example1.html>`_.
For more information about the examples, see the `documentation <http://baptiste.bauvin.pages.lis-lab.fr/summit/>`_.
Results will, by default, be stored in the results directory of the installation path :
``path/to/summit/multiview_platform/examples/results``.
The documentation proposes a detailed interpretation of the results and arguments of SuMMIT through `6 tutorials <http://baptiste.bauvin.pages.lis-lab.fr/summit/>`_.
Dataset compatibility
<<<<<<<<<<<<<<<<<<<<<
In order to start a benchmark on your own dataset, you need to format it so SuMMIT can use it. To do so, a `python script <https://gitlab.lis-lab.fr/baptiste.bauvin/summit/-/blob/master/format_dataset.py>`_ is provided.
For more information, see `Example 5 <http://baptiste.bauvin.pages.lis-lab.fr/summit/tutorials/example5.html>`_
Running on your dataset
+++++++++++++++++++++++
Once you have formatted your dataset, to run SuMMIT on it you need to modify the config file as
.. code:: yaml
name: ["your_file_name"]
pathf: "path/to/your/dataset"
It is however highly recommended to follow the documentation's `tutorials <http://baptiste.bauvin.pages.lis-lab.fr/summit/tutorials/index.html>`_ to learn the use of each parameter.
## Author
* **Baptiste BAUVIN**
* **Dominique BENIELLI**
* **Alexis PROD'HOMME**
Result analysis module
======================
.. automodule:: summit.multiview_platform.result_analysis
:members:
Multiview Platform
==================
API Documentation
=================
.. toctree::
:maxdepth: 3
:caption: Contents:
Multiview dataset management module
-----------------------------------
execution
monomultidoc
analyzeresult
.. automodule:: summit.multiview_platform.utils.dataset
:members:
:inherited-members:
......@@ -199,8 +199,8 @@ rst_prolog = """
"""
extlinks = {'base_source': ('https://gitlab.lis-lab.fr/baptiste.bauvin/summit/-/tree/master/', "base_source"),
'base_doc': ('http://baptiste.bauvin.pages.lis-lab.fr/summit/', 'base_doc')}
extlinks = {'base_source': ('https://gitlab.lis-lab.fr/baptiste.bauvin/summit/-/tree/master/%s', "_"),
'base_doc': ('http://baptiste.bauvin.pages.lis-lab.fr/summit/%s', '_')}
......
Welcome to the exection documentation
=====================================
.. automodule:: summit.execute
:members:
......@@ -15,12 +15,12 @@ This documentation consists in a short read me, with instructions to install and
:maxdepth: 1
tutorials/index
references/multiview_platform
api
readme_link
.. examples
Indices and tables
==================
......
summit
======
.. toctree::
:maxdepth: 4
summit
<../../README.md>
.. include:: ../../README.rst
Classification execution module
===============================
.. automodule:: multiview_platform.mono_multi_view_classifiers.exec_classif
:members:
:inherited-members:
Metrics framework
=================
.. automodule:: multiview_platform.mono_multi_view_classifiers.metrics.framework
:members:
:inherited-members:
Classifiers
===========
.. autosummary::
:toctree: DIRNAME
multiview_platform.mono_multi_view_classifiers.monoview_classifiers
Diversity Fusion Classifiers
============================
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview.additions.diversity_utils
:members:
Utils execution module
======================
.. automodule:: multiview_platform.MonoMultiViewClassifiers.utils.execution
:members:
:inherited-members:
\ No newline at end of file
Utils Multiclass module
=======================
.. automodule:: multiview_platform.mono_multi_view_classifiers.utils.multiclass
:members:
:inherited-members:
Mono and mutliview classification
=================================
.. toctree::
:maxdepth: 3
:caption: Contents:
monomulti/metrics
monomulti/monoview_classifier/classifiers
monomulti/multiview_classifier
monomulti/exec_classif
monomulti/multiview_classifiers/diversity_fusion
monomulti/utils/execution
monomulti/utils/multiclass
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion package
==============================================================================================
Submodules
----------
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion.analyze_results module
-------------------------------------------------------------------------------------------------------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion.analyze_results
:members:
:undoc-members:
:show-inheritance:
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion.difficulty_fusion module
---------------------------------------------------------------------------------------------------------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion.difficulty_fusion
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.difficulty_fusion
:members:
:undoc-members:
:show-inheritance:
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion package
============================================================================================
Submodules
----------
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion.analyze_results module
-----------------------------------------------------------------------------------------------------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion.analyze_results
:members:
:undoc-members:
:show-inheritance:
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion.disagree_fusion module
-----------------------------------------------------------------------------------------------------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion.disagree_fusion
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.disagree_fusion
:members:
:undoc-members:
:show-inheritance:
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion package
================================================================================================
Submodules
----------
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion.analyze_results module
---------------------------------------------------------------------------------------------------------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion.analyze_results
:members:
:undoc-members:
:show-inheritance:
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion.double_fault_fusion module
-------------------------------------------------------------------------------------------------------------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion.double_fault_fusion
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.double_fault_fusion
:members:
:undoc-members:
:show-inheritance:
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion package
===========================================================================================
Submodules
----------
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion.analyze_results module
----------------------------------------------------------------------------------------------------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion.analyze_results
:members:
:undoc-members:
:show-inheritance:
multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion.entropy_fusion module
---------------------------------------------------------------------------------------------------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion.entropy_fusion
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: multiview_platform.mono_multi_view_classifiers.multiview_classifiers.entropy_fusion
:members:
:undoc-members:
:show-inheritance:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment