Optional Tools and Libraries
DeepLearningToolkit
The DeepLearningToolkit (DLTK) is a set of environments equipped with several libraries related to deep learning. It enables running protocols in Scipion that require deep learning tools, available for both GPU and CPU. The installer will automatically detect your configuration. Since xmipp-3.25.06-Rhea all environments except micCleaner (tensorflow-gpu<2 needs anaconda) do not require any private channels (non-free channels for commercial purposes).
Note
For faster and more efficient dependency resolution in Conda environments, it is highly recommended to use LibMamba. In Conda 23 and later, LibMamba is enabled by default. For earlier versions, it can be installed and configured manually to achieve faster environment solving
Requirements
NVIDIA drivers version 450 or higher are required.
To check your NVIDIA driver version, run:
nvidia-smi
If an older version is detected, DLTK will be installed without GPU support.
How to Install
To install DLTK (DeepLearningToolKit), run:
scipion3 installb deepLearningToolkit
If the installation od DLTKfails and you just need to use one of the environments is possible to install just one of them. Locate the path Xmipp is installed, (by default in /home/USERNAME/scipion3/software/em/xmipp) and locate the .yaml envs folder and run:
conda env create -f /home/USERNAME/scipion3/software/em/xmipp/src/xmipp/bindings/python/envs_DLTK/xmipp_pyTorch-gpu.yml
mkdir home/USERNAME/scipion3/software/em/deepLearningToolkit
conda env export -n xmipp_pyTorch > /home/USERNAME/scipion3/software/em/deepLearningToolkit/xmipp_pyTorch-1.yml
You also needs the models, if it was no installed previously yo can do it with:
./xmipp getModels
List of Environments
xmipp_DLTK_v0.3 (GPU version)
Protocols using this environment: resolution_deepres, screen_deepConsensus
- python=3.7
- libstdcxx-ng
- tensorflow==1.15.0
- numpy==1.19.5
- h5py==2.10.0
- keras==2.2.5
- scikit-learn==0.22
- protobuf==3.20.3
xmipp_DLTK_v1.0 (GPU version)
Program using this enviroment: deep_misalignment_detection
- python=3.8
- libstdcxx-ng
- tensorflow==2.7
- numpy==1.22
- absl-py<0.12
- protobuf==3.20.3
xmipp_MicCleaner
Protocols using this environment: deepMicrographScreen
- python=3.9
- libstdcxx-ng # To be compatible with scipion env
- cudatoolkit=11.8
- cudnn=8.9.*
- pip
- pip:
- micrograph-cleaner-em==1.0.2
xmipp_deepEMhancer
Protocols using this environment: protocol_deepEMhancer
- python=3.10
- deepemhancer=0.16 #CUDA > 10 required. Drivers nvidia >= 450.80.02
- numba
- h5py
- libstdcxx-ng
xmipp_pyTorch (GPU version)
Protocols using this environment: deepHand, classify_pca
- python=3.10
- numpy=1.23
- mrcfile=1.4.3
- kornia=0.6.8
- starfile=0.4.11
- requests=2
- pillow
- libstdcxx-ng
- pytorch-gpu=1.13.1
- torchvision=0.14.0
- cudatoolkit=11.3
- libcurl=7
Matlab
Xmipp has a binding to MATLAB, which allows the user to run specific Xmipp functions inside MATLAB. It is required to have a regular MATLAB installation.
Make sure you have these settings in your configuration file
(xmipp-bundle/xmipp.conf) before compiling Xmipp:
XMIPP_USE_MATLAB=ON
MATLAB_DIR=<path to your MATLAB instalation> (usually something
like: MATLAB_DIR=/home/user/MATLAB/R2021b)
Run
Compile Xmipp normally (once the settings are as above):
./xmipporscipion run ./xmippOpen MATLAB
In MATLAB, set the path to Xmipp binding:
HOME > Set Path > Add Folder...and select the path to the binding (<path to xmipp>/xmipp-bundle/build/bindings/matlab), then, click inOpenandSaveNow you should be able to run functions like
xmipp_read()in MATLAB