The performance of the general model based on JANNI denoised data compared to low-pass filtered data did not improve. The average AUC on the validation data was in both cases the same (0.85). But this might be because of the data selected for the general model. I assume that especially on very noisy micrographs JANNI will improve the results.

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:

* <​del>​Issue 2: If you use automatic filtering with .tif files, you get an error like "​OSError:​ cannot identify image file '​filtered_folder/​another_folder/​my_image.tif'"​. It will be fixed in the next release.</​del>​

* <​del>​Issue 2: If you use automatic filtering with .tif files, you get an error like "​OSError:​ cannot identify image file '​filtered_folder/​another_folder/​my_image.tif'"​. It will be fixed in the next release.</​del>​

Line 67:

Line 162:

* <​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>​

* <​del>​Issue 12: The LineEnhancer depdenceny of crYOLO is still dependent from opencv. Workaround: In the crYOLO environment:​ conda install opencv</​del>​

* <​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>​

+

* <​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>​

+

* <​del>​Issue 19: Filtering does not work if target image directory is absolute path.</​del>​

+

* <​del>​Issue 20: crYOLO 1.3.4 has a normalization bug. During training the images are normalized seperately, but during prediction is done batch wise. Workaround: Use -pbs 1 during prediction. It will be fixed in 1.3.5.</​del>​

+

* <​del>​Issue 21: The search range for filament tracing is too low for many datasets. To check if you are affected: Use your trained model and pick without the filament options. Check if your filaments a nicely picked (many consecutive boxes on a filament). In the next version, the search range will be increased and added as an optional parameter.</​del>​

+

* <​del>​Issue 22: If absolute paths are used in the field "​train_image"​ in your configuration file, filtering is skipped.</​del>​

+

* <​del>​Issue 23: Since crYOLO 1.4.0 it sometimes take long until it starts picking. The reason seems to be the tensorflow update.<​del>​

There is also a way to run crYOLO ​on CPU. To use it, just follow ​the instruction ​in the [[downloads:cryolo_1#​installation|install section]]. This is especially useful when you would like to apply the generalized model and don't have a NVIDIA GPU.

-

* Added the PhosaurusNet ​to the crYOLO ​backend, which makes the patch mode needless for picking single particles.

* Fix Issue 8: crYOLO sometimes connects two parallel filaments. The filament tracing was optimized and seems now working properly.

+

-

* Fix a severe bug in filament tracing. Curved filaments splitted by crYOLO in more straight sub pieces. However, during the division, one half of the splitted filament was lost. (Thanks to Sabrina Pospich)

+

-

* Added a wiki entry about the [[:cryolo_nets|networks which are supported by crYOLO]]

+

-

* Added a wiki entry about the [[:​cryolo_config|crYOLO configuration file]]

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).

-

* Switch ​to Python3 ​(**Please use a fresh environment!**)

+

-

* (Hopefully) fixed that crYOLO sometimes freezes during/​after training (hard to reproduce, so I'm not 100% sure if it is fixed.)

+

-

* Fix that training with multiple GPUs did not speed up small datasets

+

-

* Low-pass filtering is now [[http://​sphire.mpg.de/​wiki/​doku.php?​id=pipeline:​window:​cryolo#​picking_-_using_a_model_trained_for_your_data|integrated]] into crYOLO

+

-

* Fix two bugs in cryolo_evaluation that lead to an underestimation the performance parameters

+

-

* cryolo_evaluation is now multithreaded if your training data is organised in subfolders

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!