User Tools

Site Tools


downloads:cryolo_1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
downloads:cryolo_1 [2019/02/13 16:23]
twagner [Known issues]
downloads:cryolo_1 [2019/04/23 10:25]
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://www.biorxiv.org/content/10.1101/356584v2|SPHIRE-crYOLO: A fast and accurate fully automated particle picker for cryo-EM]]
 +
 +<html>
 +<a href="https://f1000.com/prime/733517098?bd=1" target="_blank"><img src="https://s3.amazonaws.com/cdn.f1000.com/images/badges/badgef1000.gif" alt="Access the recommendation on F1000Prime" id="bg" /></a>
 +</html>
 +
 ====== Download ====== ====== Download ======
  
Line 19: Line 30:
  
 ====crYOLO==== ====crYOLO====
-Version: 1.2.3+Version: 1.3.3
  
-Uploaded:  12February 2019+Uploaded:  08April 2019
  
-[[ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_V1_2_3/cryolo-1.2.3.tar.gz|DOWNLOAD]]+[[ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_V1_3_3/cryolo-1.3.3.tar.gz|DOWNLOAD GPU VERSION]] 
 + 
 +[[ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_V1_3_3/cryolo-1.3.3.dev0.tar.gz|DOWNLOAD CPU VERSION]]
  
 ====crYOLO boxmanager==== ====crYOLO boxmanager====
  
-Version: 1.1.1+Version: 1.2.1
  
-Uploaded: 21December 2018+Uploaded: 05April 2019
  
-[[ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_BM_V1_1_1/cryoloBM-1.1.1.tar.gz|DOWNLOAD]]+[[ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_BM_V1_2_1/cryoloBM-1.2.1.tar.gz|DOWNLOAD]]
  
 [{{ :downloads:cryolophosaurusdb.jpg?150|**crYOLO Phosauraus**Net's eponym}}] [{{ :downloads:cryolophosaurusdb.jpg?150|**crYOLO Phosauraus**Net's eponym}}]
  
-==== General PhosaurusNet model ==== +==== General PhosaurusNet models ====
- Number of datasets: 27 (real), 10 simulated, 10 particle free datasets on various grids with contaminations+
  
-Uploaded: 21. December 2018 
  
-[[ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO-GENERAL-MODELS/gmodel_phosnet_20181221_loss0037.h5+=== For cryo images === 
 +Number of datasets: 32 real, 10 simulated, 10 particle free datasets on various grids with contaminations 
 + 
 +Uploaded: 14. March 2019 
 + 
 +[[ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO-GENERAL-MODELS/gmodel_phosnet_20190314.h5
 |DOWNLOAD]]  |DOWNLOAD]] 
  
-[[pipeline:window:cryolo#configuration1 |Valid configuration file]]+[[pipeline:window:cryolo#cryoem_images |Valid configuration file]]
  
 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://ftp.gwdg.de/pub/misc/sphire/crYOLO-GENERAL-MODELS/gmodel_phosnet_negstain_20190226.h5
 +|DOWNLOAD]] 
  
 +[[pipeline:window:cryolo#negative_stain_images |Valid configuration file]]
 ====ARCHIVE==== ====ARCHIVE====
  
Line 66: Line 89:
   * <del>Issue 10: On machines with many cores (e.g 64) an error during filtering might pop up: "[ERROR:0] 53: Can't spawn new thread"</del>   * <del>Issue 10: On machines with many cores (e.g 64) an error during filtering might pop up: "[ERROR:0] 53: Can't spawn new thread"</del>
   * <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.</del>   * <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.</del>
-  * Issue 12: The LineEnhancer depdenceny of crYOLO is still dependent from opencv. Workaround: In the crYOLO environment: conda install opencv+  * <del>Issue 12: The LineEnhancer depdenceny of crYOLO is still dependent from opencv. Workaround: In the crYOLO environment: conda install opencv</del> 
 +  * <del>Issue 13: After picking it can happen that some of the boxes are not fully immersed in the image. Will be fixed in 1.2.4.</del> 
 +  * <del>Issue 14: Parallelization in filament mode is broken. Will be fixed in 1.2.4.</del> 
 +  * <del>Issue 15: If the %%--%%gpu_fraction is used, crYOLO always uses GPU 0. Will be fixed in 1.3.1.</del>  
 +  * <del>Issue 16: %%--%%gpu_fraction only works for prediction, not for training. Will be fixed in 1.3.2.</del> 
 +  * Issue 17: On the fly filtering (%%--%%otf) is slower than using it not, as the filtering is not parallelized in this case.  
 +  * <del>Issue 18: Prediction is broken in 1.3.2. It removes all particles as it claim they are not fully immersed in the image.</del> 
 +  * Issue 19: Filtering does not work if target image directory is absolute path.
  
-====== 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://conda.io/projects/conda/en/latest/user-guide/install/index.html|anaconda]] or [[https://docs.conda.io/en/latest/miniconda.html|miniconda]] are available. 
 +In case you have a old cryolo environment installed, first remove the old one with: 
 +<code> 
 +conda env remove --name cryolo 
 +</code> 
 +After that, create a new virtual environment: 
 +<code> 
 +conda create -n cryolo -c anaconda python=3.6 pyqt=5 cudnn=7.1.2 
 +</code> 
 + 
 +Activate the environment: 
 +<code> 
 +source activate cryolo 
 +</code> 
 + 
 +Install crYOLO: 
 +<code> 
 +conda install numpy==1.14.5 
 +pip install cryolo-X.Y.Z.tar.gz  
 +pip install cryoloBM-X.Y.Z.tar.gz 
 +</code> 
 + 
 +**That's it!** 
 + 
 +You might want to check if everything is running as expected. Here is a reference example: 
 + 
 +[[http://sphire.mpg.de/wiki/doku.php?id=cryolo_reference_example#reference_setup|Reference example with TcdA1]] 
 + 
 +===== 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:window:cryolo##picking_particles_-_using_the_general_model_refined_for_your_data|refining the general model]], which takes 12 minutes per epoch (~ 5 hours). 
 + 
 +====== Start picking! ====== 
 + 
 +Use the **__''[[pipeline:window:cryolo|step-by-step tutorial]]''__** to get started! 
 + 
 +====== 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 without the filtering in 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/1.3.0. 
 +  * Bug fix in merging of filaments that sometimes throw "IndexError: list index out of range". (Thanks to Alexander Belyy)
 +  * Fix in cryolo_evaluation: If the validation data is specified with -b instead of runfiles, all datasets with only one box file were ignored.
 +  * 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://1n.pm/x8rUH)
 +  * One-the-fly micrograph filtering during particle picking with %%--%%otf (don't double your dataset during picking)(https://1n.pm/goXAa)
 +  * Interactive threshold adjustment after prediction using the new cbox-files and the crYOLO boxmanager 1.2 (https://1n.pm/k7HoI)
 +  * 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://1n.pm/goXAa)
 +  * Add option %%--%%num_cpu to specify the number of CPUs used during training and during prediction. (Thanks to Nikolaus Dietz) (https://1n.pm/goXAa)
 +  * Add option to limit the amount of GPU memory reserved by crYOLO with %%--%%gpu_fraction (Thanks to Nikolaus Dietz) (https://1n.pm/goXAa)
 +  * 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, only the particle with lower confidence is removed (Thanks to Yilai Li)
  
 **crYOLO Version 1.2.3:** **crYOLO Version 1.2.3:**
Line 161: Line 284:
  
 ====crYOLO Boxmanager==== ====crYOLO Boxmanager====
 +**crYOLO Boxmanager Version 1.2.1:**
 +   * Press "h" for hiding the boxes
 +   * 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 187: 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 242: 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://conda.io/docs/user-guide/install/index.html|anaconda]] or [[https://conda.io/miniconda.html|miniconda]] are available. 
-In case you have a old cryolo environment installed, first remove the old one with: 
-<code> 
-conda env remove --name cryolo 
-</code> 
-After that, create a new virtual environment: 
-<code> 
-conda create -n cryolo -c anaconda python=3.6 pyqt=5 cudnn=7.1.2 
-</code> 
- 
-Activate the environment: 
-<code> 
-source activate cryolo 
-</code> 
- 
-Install crYOLO: 
-<code> 
-pip install numpy 
-pip install cryolo-X.Y.Z.tar.gz  
-pip install cryoloBM-X.Y.Z.tar.gz 
-</code> 
- 
-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: 
-<code> 
-pip uninstall tensorflow-gpu 
-pip install tensorflow==1.10.1 
-</code> 
- 
-Now crYOLO should work on the CPU as well! 
- 
-====== Start picking! ====== 
- 
-Use the **__''[[pipeline:window:cryolo|step-by-step tutorial]]''__** to get started! 
  
downloads/cryolo_1.txt · Last modified: 2021/02/19 09:43 by twagner