crYOLO reference example

Here we provide quick run through example for training and picking with crYOLO. The main purpose is to check if your setup is running as expected. I will not provide detailed explanations in this text. Please note that there is a detailed tutorial.

Reference setup

We run this example on a machine with the following specification:

  • Titan V
  • Intel Core i9 7920X @ 2.90 Ghz
  • SSD Harddrive

Download reference data and getting started

You can download the reference data (TcdA1) here:

Link to reference data

Then unzip the data:

unzip toxin_reference.zip -d toxin_reference/
cd toxin_reference

The toxin_reference directory contains multiple folders / files:

  • train_image: Folder with 12 training images
  • train_annot: Folder with 12 box files for the training images
  • config_phosnet.json: Configuration file for crYOLO
  • reference_model.h5: Model that I've trained on my machine using the commands below.
  • reference_results: Picked particles using my machine and the reference model.

Before you start training / picking please activate your environment:

source activate cryolo

Training

First, you have to warm up the network with “-g 0” I'm selection GPU 0. It takes 2 minutes 30 seconds on our reference setup:

cryolo_train.py -c config_phosnet.json -w 5 -g 0

The actual training is done with this command:

cryolo_train.py -c config_phosnet.json -w 0 -e 10 -g 0

It needed 6 minutes 45 seconds to converge (18 epochs). The best validation loss was 0.03316. These numbers might be a little bit different on your case.

Prediction

cryolo_predict.py -c config_phosnet.json -w model.h5 -i unseen_examples/ -o my_results

It picked 1617 particles on 12 micrographs in 4 seconds. Including filtering the image and loading the model the command needed 46 seconds.

Visualize results

cryolo_boxmanager.py -i unseen_examples/ -b my_results/CBOX/