This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
downloads:cryolo_1 [2019/02/12 13:13] twagner [crYOLO] |
downloads:cryolo_1 [2019/04/23 10:29] twagner [crYOLO] |
||
---|---|---|---|
Line 7: | Line 7: | ||
If you are interested in using crYOLO in a commercial context please contact [[stefan.raunser@mpi-dortmund.mpg.de|stefan.raunser@mpi-dortmund.mpg.de]] | If you are interested in using crYOLO in a commercial context please contact [[stefan.raunser@mpi-dortmund.mpg.de|stefan.raunser@mpi-dortmund.mpg.de]] | ||
+ | |||
+ | ====== Paper ====== | ||
+ | |||
+ | You can find more technical details in our paper: | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | < | ||
+ | <a href=" | ||
+ | </ | ||
+ | |||
====== Download ====== | ====== Download ====== | ||
Line 19: | Line 30: | ||
====crYOLO==== | ====crYOLO==== | ||
- | Version: 1.2.2 | + | Version: 1.3.4 |
- | Uploaded: | + | Uploaded: |
- | [[ftp:// | + | [[ftp:// |
+ | |||
+ | [[ftp:// | ||
====crYOLO boxmanager==== | ====crYOLO boxmanager==== | ||
- | Version: 1.1.1 | + | Version: 1.2.1 |
- | Uploaded: | + | Uploaded: |
- | [[ftp:// | + | [[ftp:// |
[{{ : | [{{ : | ||
- | ==== General PhosaurusNet | + | ==== General PhosaurusNet |
- | | + | |
- | Uploaded: 21. December 2018 | ||
- | [[ftp:// | + | === For cryo images === |
+ | Number of datasets: 32 real, 10 simulated, 10 particle free datasets on various grids with contaminations | ||
+ | |||
+ | Uploaded: 14. March 2019 | ||
+ | |||
+ | [[ftp:// | ||
|DOWNLOAD]] | |DOWNLOAD]] | ||
- | [[pipeline: | + | [[pipeline: |
Info: Trained on cryo images, therefore negative stain will not work. | Info: Trained on cryo images, therefore negative stain will not work. | ||
+ | === For negative stain images === | ||
+ | Number of datasets: 10 real datasets | ||
+ | Uploaded: 26. February 2019 | ||
+ | |||
+ | [[ftp:// | ||
+ | |DOWNLOAD]] | ||
+ | [[pipeline: | ||
====ARCHIVE==== | ====ARCHIVE==== | ||
Line 63: | Line 86: | ||
* < | * < | ||
* < | * < | ||
- | * Issue 9: Some people report an error when running cryolo prediction/ | + | * <del>Issue 9: Some people report an error when running cryolo prediction/ |
- | * Issue 10: On machines with many cores (e.g 64) an error during filtering might pop up: " | + | * <del>Issue 10: On machines with many cores (e.g 64) an error during filtering might pop up: " |
- | * Issue 11: If the -g parameter is not provided, crYOLO will use the memory of all GPUs. Will be fixed in 1.2.3. | + | * <del>Issue 11: If the -g parameter is not provided, crYOLO will use the memory of all GPUs. Will be fixed in 1.2.3.</ |
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * Issue 17: On the fly filtering (%%--%%otf) is slower than using it not, as the filtering is not parallelized in this case. | ||
+ | * < | ||
+ | * < | ||
- | ====== Change log ===== | + | |
+ | ====== Installation ====== | ||
+ | |||
+ | **System requirements: | ||
+ | |||
+ | crYOLO was tested on **Ubuntu 16.04.4 LTS** and **Ubuntu 18.04** with an NVIDIA Geforce 1080 / Geforce 1080Ti. | ||
+ | |||
+ | However, it should run on **Windows** as well. | ||
+ | |||
+ | As the GPU accelerated version of tensorflow does not support **MacOS**, crYOLO does not support it either. | ||
+ | |||
+ | |||
+ | crYOLO depends on CUDA Toolkit 9.0 and the cuDNN 7.1.2 library. | ||
+ | It will be automatically installed during crYOLO installation. | ||
+ | |||
+ | **Install crYOLO!** | ||
+ | |||
+ | The following instructions assume that pip and [[https:// | ||
+ | In case you have a old cryolo environment installed, first remove the old one with: | ||
+ | < | ||
+ | conda env remove --name cryolo | ||
+ | </ | ||
+ | After that, create a new virtual environment: | ||
+ | < | ||
+ | conda create -n cryolo -c anaconda python=3.6 pyqt=5 cudnn=7.1.2 | ||
+ | </ | ||
+ | |||
+ | Activate the environment: | ||
+ | < | ||
+ | source activate cryolo | ||
+ | </ | ||
+ | |||
+ | Install crYOLO: | ||
+ | < | ||
+ | conda install numpy==1.14.5 | ||
+ | pip install cryolo-X.Y.Z.tar.gz | ||
+ | pip install cryoloBM-X.Y.Z.tar.gz | ||
+ | </ | ||
+ | |||
+ | **That' | ||
+ | |||
+ | You might want to check if everything is running as expected. Here is a reference example: | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ===== Run it on the CPU ==== | ||
+ | |||
+ | There is also a way to run crYOLO on CPU. To use it, just install the CPU version as provided in the download section. This is especially usefull when you would like to apply the generalized model and don't have a NVIDIA GPU. | ||
+ | |||
+ | Picking with crYOLO is also quite fast on the CPU. On my local machine (Intel i9) it takes roughly 1 second per micrograph and on our low-performance notebooks (Intel i3) 4 seconds. | ||
+ | |||
+ | Training crYOLO is much more computational expensive. Training a model with 14 micrographs from scratch on my local machine take 34 minutes per epoch on the CPU. Given that you often need 25 epochs until convergence it is a task to do overnight (~ 12 hours). However, you might want to try [[pipeline: | ||
+ | |||
+ | ====== Start picking! ====== | ||
+ | |||
+ | Use the **__'' | ||
+ | |||
+ | ====== Change log ====== | ||
====crYOLO==== | ====crYOLO==== | ||
+ | **crYOLO 1.3.4:** | ||
+ | * Support for SPHIRE 1.2 | ||
+ | * Changed the minimum threshold for cbox files from 0.01 to 0.1. Much faster in many cases but still low enough. If -t is lower than 0.1, the new threshold is used as minimum. | ||
+ | * Installation now checks if python 3 is used. | ||
+ | * Fix issue 19: Filtering does not work if target image directory is absolute path. | ||
+ | * Fix crash when %%--%%otf was specified but filtering was not specified in the config file | ||
+ | |||
+ | **crYOLO 1.3.3:** | ||
+ | * Fix issue 18: Prediction is broken in 1.3.2. It removes all particles as it claim they are not fully immersed in the image. | ||
+ | |||
+ | **crYOLO 1.3.2:** | ||
+ | * Speedup prediction: Vectorized some parts of the code and optimized the creation of the cbox files. 30% speed up picking / 15% faster training compared to 1.3.1/ | ||
+ | * Bug fix in merging of filaments that sometimes throw " | ||
+ | * Fix in cryolo_evaluation: | ||
+ | * Change library requirement to PILLOW version 6.0.0 | ||
+ | * Fix issue 16: %%--%%gpu_fraction only works for prediction, not for training. | ||
+ | |||
+ | **crYOLO 1.3.1:** | ||
+ | * Fix Issue 15: -g was ignored when --gpu_fraction was used. | ||
+ | |||
+ | **crYOLO 1.3.0:** | ||
+ | * Fine tune the general network to your data using the new fine tune option with %%--%%fine_tune (https:// | ||
+ | * One-the-fly micrograph filtering during particle picking with %%--%%otf (don't double your dataset during picking)(https:// | ||
+ | * Interactive threshold adjustment after prediction using the new cbox-files and the crYOLO boxmanager 1.2 (https:// | ||
+ | * Pick only fully immersed particles (Issue 13) | ||
+ | * Improved filament mode | ||
+ | * Rewrote tracing | ||
+ | * Rewrote and speed up merging of filaments | ||
+ | * Fixed parallelisation of the filament mode (Issue 14) | ||
+ | * Add tifffile as dependency, as imageio throws a lot of warning for some tif files. | ||
+ | * Add conversion for uint16 images, as pillow cannot work with them. | ||
+ | * Add option %%--%%skip_augmentation to deactivate augmentation during training (Thanks to Tijmen de Wolf). (https:// | ||
+ | * Add option %%--%%num_cpu to specify the number of CPUs used during training and during prediction. (Thanks to Nikolaus Dietz) (https:// | ||
+ | * Add option to limit the amount of GPU memory reserved by crYOLO with %%--%%gpu_fraction (Thanks to Nikolaus Dietz) (https:// | ||
+ | * Save anchor size in model every time you write a new model during training (not only at the end) | ||
+ | * In case of using %%--%%min_distance, | ||
**crYOLO Version 1.2.3:** | **crYOLO Version 1.2.3:** | ||
- | | + | |
- | * Attempt to fix Issue 10: Removed opencv dependency which was connected to this problem | + | * crYOLO now saves the anchors which were used during training inside the .h5 file and takes care that the correct anchors are used during prediction. |
+ | * [[https:// | ||
+ | | ||
+ | * Attempt to fix Issue 10: Removed opencv dependency which was connected to this problem | ||
* Fix issue 11: crYOLO uses now GPU 0 by default if not specified otherwise (e.g. by CUDA_VISIBLE_DEVICES) | * Fix issue 11: crYOLO uses now GPU 0 by default if not specified otherwise (e.g. by CUDA_VISIBLE_DEVICES) | ||
Line 157: | Line 284: | ||
====crYOLO Boxmanager==== | ====crYOLO Boxmanager==== | ||
+ | **crYOLO Boxmanager Version 1.2.1:** | ||
+ | * Press " | ||
+ | * Fix for loading different box sets with different colors for the case that on of the box sets are cbox files. | ||
+ | |||
+ | **crYOLO Boxmanager Version 1.2: | ||
+ | * Add interactive threshold selection using cbox files | ||
+ | |||
**crYOLO Boxmanager Version 1.1.1: | **crYOLO Boxmanager Version 1.1.1: | ||
* Fix Issue 3 | * Fix Issue 3 | ||
Line 183: | Line 317: | ||
==== General PhosaurusNet model ==== | ==== General PhosaurusNet model ==== | ||
+ | **Version 20190315: | ||
+ | * Added KLH | ||
+ | * Added one inhouse dataset | ||
+ | |||
+ | **Version 20190218:** | ||
+ | * Added K3 apoferritin (Thanks to Shaun Rawson) | ||
+ | * Added two more inhouse datasets | ||
+ | |||
+ | **Version 20181221:** | ||
Same datasets as the general YOLO network model version 20181120 but with trained with PhosaurusNet. | Same datasets as the general YOLO network model version 20181120 but with trained with PhosaurusNet. | ||
Line 238: | Line 381: | ||
* an internal dataset. | * an internal dataset. | ||
- | |||
- | ====== System requirements ===== | ||
- | crYOLO was tested on **Ubuntu 16.04.4 LTS** and **Ubuntu 18.04** with an NVIDIA Geforce 1080 / Geforce 1080Ti. | ||
- | |||
- | However, it should run on **Windows** as well. | ||
- | |||
- | As the GPU accelerated version of tensorflow does not support **MacOS**, crYOLO does not support it either. | ||
- | |||
- | ====== Installation ====== | ||
- | |||
- | crYOLO depends on CUDA Toolkit 9.0 and the cuDNN 7.1.2 library. | ||
- | It will be automatically installed during crYOLO installation. | ||
- | |||
- | **Install crYOLO!** | ||
- | |||
- | The following instructions assume that pip and [[https:// | ||
- | In case you have a old cryolo environment installed, first remove the old one with: | ||
- | < | ||
- | conda env remove --name cryolo | ||
- | </ | ||
- | After that, create a new virtual environment: | ||
- | < | ||
- | conda create -n cryolo -c anaconda python=3.6 pyqt=5 cudnn=7.1.2 | ||
- | </ | ||
- | |||
- | Activate the environment: | ||
- | < | ||
- | source activate cryolo | ||
- | </ | ||
- | |||
- | Install crYOLO: | ||
- | < | ||
- | pip install numpy | ||
- | pip install cryolo-X.Y.Z.tar.gz --process-dependency-links | ||
- | pip install cryoloBM-X.Y.Z.tar.gz | ||
- | </ | ||
- | |||
- | That's it! | ||
- | |||
- | ===== Run it on the CPU ==== | ||
- | |||
- | There is also a way to run crYOLO on CPU. This is especially usefull when you would like to apply the generalized model and don't have a NVIDIA GPU. Picking with crYOLO is also quite fast on the CPU. On my local machine (Intel i9) it takes roughly 1 second per micrograph and on our low-performance notebooks (Intel i3) 4 seconds. | ||
- | |||
- | After you followed the crYOLO installation instructions just replace tensorflow-gpu by tensorflow: | ||
- | < | ||
- | pip uninstall tensorflow-gpu | ||
- | pip install tensorflow==1.10.1 | ||
- | </ | ||
- | |||
- | Now crYOLO should work on the CPU as well! | ||
- | |||
- | ====== Start picking! ====== | ||
- | |||
- | Use the **__'' | ||