From 140a9cd7c31c0343b8647bb8d73bdd0b88f43dff Mon Sep 17 00:00:00 2001
From: Baptiste Bauvin <baptiste.bauvin@lis-lab.fr>
Date: Wed, 29 Apr 2020 11:13:02 -0400
Subject: [PATCH] Removed

---
 .gitignore                                    |   3 -
 examples/data/doc_summit.hdf5                 | Bin 111628 -> 0 bytes
 multiview_platform/datasets/__init__.py       |   2 -
 multiview_platform/datasets/base.py           | 204 ------------------
 multiview_platform/datasets/data_sample.py    | 161 --------------
 .../datasets/get_dataset_path.py              |  25 ---
 multiview_platform/declare_classifier.py      |  53 -----
 multiview_platform/versions.py                |  96 ---------
 8 files changed, 544 deletions(-)
 delete mode 100644 examples/data/doc_summit.hdf5
 delete mode 100644 multiview_platform/datasets/__init__.py
 delete mode 100644 multiview_platform/datasets/base.py
 delete mode 100644 multiview_platform/datasets/data_sample.py
 delete mode 100644 multiview_platform/datasets/get_dataset_path.py
 delete mode 100644 multiview_platform/declare_classifier.py
 delete mode 100644 multiview_platform/versions.py

diff --git a/.gitignore b/.gitignore
index 321544b7..8f15990a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,5 @@
 TODO
 *.pyc
-.idea/**
-ipynb/.ipynb_checkpoints/**
-docs/source/monomulti/.ipynb_checkpoints/**
 results/*
 data/*
 Data/*
diff --git a/examples/data/doc_summit.hdf5 b/examples/data/doc_summit.hdf5
deleted file mode 100644
index 68e25ef4604908db4631950088afa7e64acacc7f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 111628
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
WX=ev&e9&fs8`Tavw0&r_HUj{z*U6s%

diff --git a/multiview_platform/datasets/__init__.py b/multiview_platform/datasets/__init__.py
deleted file mode 100644
index 8cfb3abd..00000000
--- a/multiview_platform/datasets/__init__.py
+++ /dev/null
@@ -1,2 +0,0 @@
-from multiview_platform.datasets.base import *
-from multiview_platform.datasets.data_sample import DataSample, Metriclearn_array
diff --git a/multiview_platform/datasets/base.py b/multiview_platform/datasets/base.py
deleted file mode 100644
index e559b866..00000000
--- a/multiview_platform/datasets/base.py
+++ /dev/null
@@ -1,204 +0,0 @@
-from __future__ import print_function
-import pickle
-import numpy as np
-import numpy.ma as ma
-from multiview_platform.datasets.data_sample import DataSample
-from six.moves import cPickle as pickle #for performance
-import numpy as np
-
-
-def save_dict(di_, filename_):
-    with open(filename_, 'wb') as f:
-        pickle.dump(di_, f)
-
-def load_dict(filename_):
-    with open(filename_, 'rb') as f:
-        ret_di = pickle.load(f)
-    return ret_di
-
-
-def load_data(address, output='array', pickle=False):
-    if output.startswith(('array')):
-        views = np.empty((len(address)), dtype=object)
-    else:
-        views = {}
-    i = 0
-    nb_samples, nb_features = _determine_dimensions(address)
-    for addr in address:
-        data = _load_view_sample(addr, nb_samples , nb_features[i], pickle=pickle)
-        views[i] = data
-        i += 1
-    return DataSample(data=views)
-
-def _determine_dimensions(address):
-    nb_features = []
-    nb_samples = 0
-    nb_sample_max = -1
-    for adr in address:
-      try:
-          f = open(adr, "r")
-          line = f.readline()
-          nb_samples += 1
-          while line :
-              line = f.readline()
-              l = line.split()
-              nb_samples += 1
-              nb_features.append(len(l))
-              line = f.readline()
-          if nb_sample_max < nb_samples:
-              nb_sample_max = nb_samples
-          f.close()
-      except IOError:
-          raise IOError("file adr can't be open")
-    return nb_sample_max, nb_features
-
-def _load_view_sample(adr, nb_samples, nb_features, pickle=False):
-    """Load a sample from file and returns a dictionary
-    (word,count)
-
-    - Input:
-
-    :param lrows: number or list of rows,
-           a list of strings if partial=True;
-           otherwise, based on pref if version="classic" or
-           "prefix", fact otherwise
-    :type lrows: int or list of int
-    :param lcolumns: number or list of columns
-            a list of strings if partial=True ;
-            otherwise, based on suff if version="classic" or "suffix",
-            fact otherwise
-    :type lcolumns: int or list of int
-    :param string version: (default = "classic") version name
-    :param boolean partial: (default value = False) build of partial
-           if True partial dictionaries are loaded based
-           on nrows and lcolumns
-
-    - Output:
-
-    :returns:  nbL , nbEx , dsample , dpref , dsuff  , dfact
-    :rtype: int , int , dict , dict , dict  , dict
-
-
-    :Example:
-
-    Let's say you are interested in the samples 10, 25, and 50, and want to
-    know their class name.
-
-    >>> from metriclearning.datasets.base import load_data_sample
-    >>> from metriclearning.tests.datasets.get_dataset_path import get_dataset_path
-    >>> train_file = '3.pautomac_light.train' # '4.spice.train'
-    >>> data = load_data_sample(adr=get_dataset_path(train_file))
-    >>> data.nbL
-    4
-    >>> data.nbEx
-    5000
-    >>> data.data
-    Splearn_array([[ 3.,  0.,  3., ..., -1., -1., -1.],
-           [ 3.,  3., -1., ..., -1., -1., -1.],
-           [ 3.,  2.,  0., ..., -1., -1., -1.],
-           ...,
-           [ 3.,  1.,  3., ..., -1., -1., -1.],
-           [ 3.,  0.,  3., ..., -1., -1., -1.],
-           [ 3.,  3.,  1., ..., -1., -1., -1.]])
-
-    """
-    #nb_sample, max_length = _read_dimension(adr=adr)
-    f = open(adr, "r")
-    line = f.readline()
-    l = line.split()
-    nbEx = int(l[0])
-    nbL = int(l[1])
-    line = f.readline()
-    data1 = np.zeros((nb_samples, nb_features), dtype=np.float)
-    data1 += np.NAN
-    datatrue = np.ones((nb_samples, nb_features), dtype=np.bool)
-    i = 0
-    while line:
-        l = line.split()
-        # w = () if int(l[0]) == 0 else tuple([int(x) for x in l[1:]])
-        # dsample[w] = dsample[w] + 1 if w in dsample else 1
-        # traitement du mot vide pour les préfixes, suffixes et facteurs
-        w = [float(x) for x in l[0:]]
-        data1[i, :len(w)] = w
-        line = f.readline()
-        i += 1
-        if i > nbEx:
-            raise IndexError("dimension is not well defined")
-    masint= np.isnan(data1)
-    # masint = np.logical_not(masint)
-    madata1 = ma.MaskedArray(data1, masint)
-    f.close()
-
-    if pickle:
-        _create_pickle_files(adr=adr, dsample=madata1)
-    return madata1
-
-# def _read_dimension(adr):
-#     f = open(adr, "r")
-#     line = f.readline()
-#     l = line.split()
-#     nbEx = int(l[0])
-#     nbL = int(l[1])
-#     line = f.readline()
-#     max_length = 0
-#     nb_sample = 0
-#     while line:
-#         l = line.split()
-#         nb_sample += 1
-#         length = int(l[0])
-#         if max_length < length:
-#             max_length = length
-#         line = f.readline()
-#     f.close()
-#     if nb_sample != nbEx:
-#         raise ValueError("check imput file, metadata " + str(nbEx) +
-#                          "do not match number of samples " + str(nb_sample))
-#     return nb_sample , max_length
-
-# def _load_file_1lecture(adr, pickle=False):
-#     dsample = {}  # dictionary (word,count)
-#     f = open(adr, "r")
-#     line = f.readline()
-#     l = line.split()
-#     nbEx = int(l[0])
-#     nbL = int(l[1])
-#     line = f.readline()
-#     data1 = np.zeros((0,0))
-#     length = 0
-#     while line:
-#         l = line.split()
-#         # w = () if int(l[0]) == 0 else tuple([int(x) for x in l[1:]])
-#         # dsample[w] = dsample[w] + 1 if w in dsample else 1
-#         # traitement du mot vide pour les préfixes, suffixes et facteurs
-#         w = [] if int(l[0]) == 0 else [int(x) for x in l[1:]]
-#         word = np.array(w, ndmin=2, dtype=np.uint32)
-#         diff = abs(int(l[0]) - length)
-#         if len(w) > length and not np.array_equal(data1, np.zeros((0,0))):
-#             data1 = _add_empty(data1, diff)
-#         elif word.shape[0] < length and not np.array_equal(data1, np.zeros((0,0))):
-#             word = _add_empty(word, diff)
-#
-#         if np.array_equal(data1, np.zeros((0,0))):
-#             data1 = word
-#         else:
-#             data1 = np.concatenate((data1, word), axis=0)
-#         length = data1.shape[1]
-#         line = f.readline()
-#
-#     f.close()
-#     if pickle:
-#         _create_pickle_files(adr=adr, dsample=dsample)
-#     return nbL, nbEx, data1
-
-
-# def _add_empty(data, diff):
-#     empty = np.zeros((data.shape[0], diff))
-#     empty += -1
-#     data = np.concatenate((data, empty), axis=1)
-#     return data
-
-
-def _create_pickle_files(self, adr, dsample):
-    f = open(adr + ".sample.pkl", "wb")
-    pickle.dump(dsample, f)
-    f.close()
diff --git a/multiview_platform/datasets/data_sample.py b/multiview_platform/datasets/data_sample.py
deleted file mode 100644
index 833528da..00000000
--- a/multiview_platform/datasets/data_sample.py
+++ /dev/null
@@ -1,161 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""This module contains the DataSample class and Splearn_array class
-The DataSample class encapsulates a sample 's components
-nbL and nbEx numbers,
-Splearn_array class inherit from numpy ndarray and contains a 2d data ndarray
-with the shape
-
-==== ====  ====  ====  ====
-x    x     x     x     -1
-x    x     x     x     x
-x    x     -1    -1    -1
-x    -1    -1    -1    -1
--1   -1    -1    -1    -1
-==== ====  ====  ====  ====
-
-where -1 a indicates a empty cell,
-the number nbL and nbEx and , the fourth dictionaries for sample,
-prefix, suffix and factor where they are computed
-"""
-import numpy as np
-import numpy.ma as ma
-
-
-class MultiView_array(ma.MaskedArray):
-    """Splearn_array inherit from numpy ndarray
-
-    :Example:
-
-    >>> from multiview_platform.datasets.base import load_data
-    >>> from multiview_platform.datasets.get_dataset_path import get_dataset_path
-    >>> train_file = '' # '4.spice.train'
-    >>> data = load_data(adr=get_dataset_path(train_file))
-    >>> print(data.__class__)
-    >>> data.data
-
-    """
-    def __new__(cls, data):
-        shapes_int = []
-        index = 0
-        new_data = data
-        shape_ext = len(data)
-        thekeys = None
-        if isinstance(data, dict):
-            shape_ext = len(data)
-            for key, dat_values in data.items():
-                new_data = cls._populate_new_data(index, dat_values, new_data)
-                shapes_int.append(dat_values.shape[0])
-                index += 1
-            thekeys = data.keys()
-
-        if isinstance(data, np.ndarray):
-            shape_ext = data.shape[0]
-            for dat_values in data:
-                shapes_int.append(dat_values.shape[0])
-                new_data = cls._populate_new_data(index, dat_values, new_data)
-                index += 1
-        # obj =   ma.MaskedArray.__new(new_data)   # new_data.view()  a.MaskedArray(new_data, mask=new_data.mask).view(cls)
-        # bj = super(Metriclearn_array, cls).__new__(cls, new_data.data, new_data.mask)
-        obj = ma.masked_array(new_data.data, new_data.mask).view(cls)
-        obj.shapes_int = shapes_int
-        obj.shape_ext = shape_ext
-        obj.keys = thekeys
-        return obj
-
-
-    @staticmethod
-    def _populate_new_data(index, dat_values, new_data):
-        if index == 0:
-            if isinstance(dat_values, ma.MaskedArray):
-                new_data = dat_values
-            else:
-                new_data = dat_values.view(ma.MaskedArray) #  ma.masked_array(dat_values, mask=ma.nomask) dat_values.view(ma.MaskedArray) #(
-                new_data.mask = ma.nomask
-        else:
-            if isinstance(dat_values, ma.MaskedArray):
-                new_data = ma.hstack((new_data, dat_values))
-            else:
-                new_data = ma.hstack((new_data,  dat_values.view(ma.MaskedArray) ) ) #  ma.masked_array(dat_values, mask=ma.nomask
-        return new_data
-
-    def __array_finalize__(self, obj):
-        if obj is None: return
-        super(MultiView_array, self).__array_finalize__(obj)
-        self.shapes_int = getattr(obj, 'shapes_int', None)
-        self.shape_ext = getattr(obj, 'shape_ext', None)
-        self.keys = getattr(obj, 'keys', None)
-
-    def getCol(self, view, col):
-        start = np.sum(np.asarray(self.shapes_int[0: view]))
-        return self.data[start+col, :]
-
-    def getView(self, view):
-        start = np.sum(np.asarray(self.shapes_int[0: view]))
-        stop = start + self.shapes_int[view]
-        return self.data[start:stop, :]
-
-    def getRaw(self, view, raw):
-        start = np.sum(np.asarray(self.shapes_int[0: view]))
-        stop = np.sum(np.asarray(self.shapes_int[0: view+1]))
-        return self.data[start:stop, raw]
-
-class DataSample(dict):
-    """ A DataSample instance
-
-    :Example:
-
-    >>> from multiview_platform.datasets.base import load_data
-    >>> from multiview_platform.datasets.get_dataset_path import get_dataset_path
-    >>> train_file = '' # '4.spice.train'
-    >>> data = load_data_sample(adr=get_dataset_path(train_file))
-    >>> print
-    (data.__class__)
-
-    >>> data.data
-
-    - Input:
-
-    :param string adr: adresse and name of the loaden file
-    :param string type: (default value = 'SPiCe') indicate
-           the structure of the file
-    :param lrows: number or list of rows,
-           a list of strings if partial=True;
-           otherwise, based on self.pref if version="classic" or
-           "prefix", self.fact otherwise
-    :type lrows: int or list of int
-    :param lcolumns: number or list of columns
-           a list of strings if partial=True ;
-           otherwise, based on self.suff if version="classic" or "suffix",
-           self.fact otherwise
-    :type lcolumns: int or list of int
-    :param string version: (default = "classic") version name
-    :param boolean partial: (default value = False) build of partial
-
-    """
-
-    def __init__(self, data=None, **kwargs):
-
-        # The dictionary that contains the sample
-        super(DataSample, self).__init__(kwargs)
-        self._data = None # Metriclearn_array(np.zeros((0,0)))
-        if data is not None:
-            self._data = MultiView_array(data)
-
-
-    @property
-    def data(self):
-        """Metriclearn_array"""
-
-        return self._data
-
-    @data.setter
-    def data(self, data):
-        if isinstance(data, (MultiView_array, np.ndarray, ma.MaskedArray, np.generic)):
-            self._data = data
-        else:
-            raise TypeError("sample should be a MultiView_array.")
-
-
-
-
diff --git a/multiview_platform/datasets/get_dataset_path.py b/multiview_platform/datasets/get_dataset_path.py
deleted file mode 100644
index f533aa84..00000000
--- a/multiview_platform/datasets/get_dataset_path.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-
-from __future__ import print_function, division
-
-import os
-
-
-def get_dataset_path(filename):
-    """Return the absolute path of a reference dataset for tests
-
-    - Input parameter:
-
-    :param str filename: File name of the file containing reference data
-        for tests (which must be in ``skgilearn/tests/datasets/``)
-
-    - Output parameters:
-
-    :returns: The absolute path where the file with name **filename** is stored
-    :rtype: str
-
-    """
-
-    datasets_path = os.path.dirname(os.path.abspath(__file__))
-    return os.path.join(datasets_path, filename)
diff --git a/multiview_platform/declare_classifier.py b/multiview_platform/declare_classifier.py
deleted file mode 100644
index 9d83f06a..00000000
--- a/multiview_platform/declare_classifier.py
+++ /dev/null
@@ -1,53 +0,0 @@
-import os
-import importlib
-import inspect
-
-
-class ClassierMakerMultiViewPlatform():
-    _benchmark = {"monoview":
-                      {"path_classifier": 'multiview_platform/mono_multi_view_classifier/monoview_classifiers'},
-                  "multiview":
-                      {"path_classifier_multi": 'multiview_platform/mono_multi_view_classifier/multiview_classifier'}}
-
-
-    def __init__(self, classifier_names, classifier_modules=None, classifier_files=None, mod='monoview'):
-        if classifier_files is None and classifier_names.size != classifier_modules.size:
-            raise ValueError("attr classifier_names and  classifier_modules should have same size")
-        if classifier_modules is None and classifier_names.size != classifier_files.size:
-            raise ValueError("attr classifier_names and  classifier_files should have same size")
-
-        if classifier_files is None:
-            for classifier, module in zip(classifier_names, classifier_modules):
-                my_instance, my_module = self._check_classifier_install
-
-                self._create_class(my_instance, my_module)
-
-
-    def _check_classifier_install(self, classifier, module):
-        try:
-            my_module = importlib.import_module(module)
-        except Exception:
-            raise("the module %d can't be imported" % module)
-        try:
-            my_instance = getattr(my_module, classifier)
-        except AttributeError:
-            raise AttributeError("The class %d is not in %d" % classifier  %module)
-        return my_instance, my_module
-
-    def _create_class(self, classifier, module):
-        if mod.startswith('monoview'):
-            directory =  self._benchmark[mod]["path_classifier"]
-
-
-    def _get_module_name(self, mymodule):
-        for name in dir(mymodule):
-            att = getattr(mymodule, name)
-            try:
-                getattr(att, "__module__")
-                if att.__module__.startswith(mymodule.__name__):
-                    if inspect.isclass(att):
-                        if att == name:
-                            return name
-            except Exception:
-                return None
-        return None
\ No newline at end of file
diff --git a/multiview_platform/versions.py b/multiview_platform/versions.py
deleted file mode 100644
index b60d9854..00000000
--- a/multiview_platform/versions.py
+++ /dev/null
@@ -1,96 +0,0 @@
-# Author-Info
-__author__ = "Baptiste Bauvin"
-__status__ = "Prototype"  # Production, Development, Prototype
-
-
-def test_versions():
-    """Used to test if all prerequisites are installed"""
-    is_up_to_date = True
-    to_install = []
-
-    # try:
-    #     import sys
-    # except ImportError:
-    #     raise
-    #
-    # try:
-    #     import cvxopt
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("cvxopt")
-    #
-    # try:
-    #     import pyscm
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("pyscm")
-    #
-    # try:
-    #     import numpy
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("numpy")
-    #
-    # try:
-    #     import scipy
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("scipy")
-    #
-    # try:
-    #     import matplotlib
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("matplotlib")
-    #
-    # try:
-    #     import sklearn
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("sklearn")
-    #
-    # try:
-    #     import logging
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("logging")
-    #
-    # try:
-    #     import joblib
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("joblib")
-    #
-    # try:
-    #     import argparse
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("argparse")
-    #
-    # try:
-    #     import h5py  #
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("h5py")
-    #
-    # # try:
-    # #     import graphviz  #
-    # # except ImportError:
-    # #     is_up_to_date = False
-    # #     to_install.append("graphviz")
-    #
-    # try:
-    #     import pickle  #
-    # except ImportError:
-    #     is_up_to_date = False
-    #     to_install.append("pickle")
-    #
-    # if not is_up_to_date:
-    #     print(
-    #         "You can't run at the moment, please install the following modules : \n" + "\n".join(
-    #             to_install))
-    #     quit()
-
-
-if __name__ == "__main__":
-    test_versions()
-- 
GitLab