Installation of benchscofi
The complete list of dependencies for benchscofi can be found at requirements.txt (Pip). This package is compatible with Python 3.8, and should at least run on Linux.
Running the Docker image (easiest)
You can download the Docker image hosted on DockerHub and start a container on this image:
$ docker push recessproject/benchscofi:<release-version>
$ docker run -it recessproject/benchscofi:<release-version>
Manual installation (not recommended)
It is recommended to use a virtual environment (here, we give an example using Conda):
$ conda create -n benchscofi_env python=3.8.5 -y
$ conda activate benchscofi_env
$ # Using Pip
$ python3 -m pip install benchscofi
$ python3 -m pip uninstall werkzeug
$ ## useful if you want to run the Jupyter notebooks in the docs/ folder
$ python3 -m pip install notebook>=6.5.4 markupsafe==2.0.1
$ conda deactivate && conda activate benchscofi_env
Then install the dependencies
Install R based on your distribution, or do not use the following algorithms:
LRSSL
. Check if R is properly installed using the following command:$ R -q -e "print('R is installed and running.')
Install MATLAB or Octave (free, with packages
statistics
from Octave Forge) based on your distribution, or do not use the following algorithms:BNNR
(depends on Octave),SCPMF
(depends on Octave),MBiRW
(depends on Octave),DDA_SKF
(depends on Octave and packagestatistics
). Check if Octave is properly installed using the following command$ octave --eval "'octave is installed'" $ octave --eval "pkg load statistics; 'octave-statistics is installed'"
Install a MATLAB compiler (version 2012b) as follows, or do not use algorithm
DRRS
:$ apt-get install -y libxmu-dev libncurses5 # libXmu.so.6 and libncurses5 are required $ wget -O MCR_R2012b_glnxa64_installer.zip \ $ https://ssd.mathworks.com/supportfiles/MCR_Runtime/R2012b/MCR_R2012b_glnxa64_installer.zip $ mv MCR_R2012b_glnxa64_installer.zip /tmp $ cd /tmp $ unzip MCR_R2012b_glnxa64_installer.zip -d MCRInstaller $ cd MCRInstaller $ mkdir -p /usr/local/MATLAB/MATLAB_Compiler_Runtime/v80 $ chown -R <user> /usr/local/MATLAB/ $ ./install -mode silent -agreeToLicense yes
Installation notes
–
Instead of using Pip (command “python3 -m pip install benchscofi”), one might need to download from source files. In that case, download the tar.gz file from PyPI and extract it (or clone the GitHub repository, for the latest non-stable release):
$ git clone https://github.com/RECeSS-EU-Project/benchscofi.git
$ cd benchscofi/
$ python3 -m pip install --upgrade pip wheel
$ python3 -m pip install -r pip/requirements.txt
$ python3 -m pip install .
–
An issue might arise with the version of Tensorflow provided in the requirements.txt. In fact, the requirement for tensorflow might be too restrictive. In that case, rely on the dependency conflict solver of pip (which might take a while, but will successfully solve everything) and proceed as follows:
Replace the install_requires field in file setup.py by
install_requires=["stanscofi", "tensorflow", "pulearn", "torch", "fastai", "torch_geometric", "pyFFM", "pytorch-lightning", "scikit-learn==1.2.*", "libmf"]
and then run the following commands:
$ git clone https://github.com/RECeSS-EU-Project/benchscofi.git
$ cd benchscofi/ && python3 -m pip install .
–