### Sidebar

#### Release history

pipeline:window:cryolo:training
The most recent version of this page is a draft.This version (2019/09/18 08:36) was approved by twagner.The Previously approved version (2019/09/17 11:10) is available.

This is an old revision of the document!

Now you are ready to train the model. In case you have multiple GPUs, you should first select a free GPU. The following command will show the status of all GPUs:

nvidia-smi

For this tutorial, we assume that you have either a single GPU or want to use GPU 0.

In the “Optional arguments” tab you can change the GPU that should be used by crYOLO. If you have multiple GPUs (e.g. GPU 0 and GPU 1) you can also use both by setting the GPU argument to '0 1'.

In the GUI you have to fill in the mandatory fields:

The default number of warmup epochs1) is fine as long as you don't want to refine an existing model. During the warmup training epochs it will not try to estimate the size of your particle, which helps crYOLO to converge.

When you start the training, it will stop when the “loss” metric on the validation data does not improve 10 times in a row. This is typically enough. In case you want to give the training more time to find the best model can increase the “not changed in a row” parameter to a higher value by setting the early argument in the “Optional arguments” to, for example, 15.

► Now press the [Start] button to start the training.

The final model will be written to disk as specified in saved_weights_name in your configuration file.

Alternative: Train crYOLO using the command line

Alternative: Train crYOLO using the command line

Navigate to the folder with config_cryolo.json file, train_image folder, etc.

Train your network with 5 warmup epochs in GPU 0:

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

The final model file will be written to disk.

cryolo_train.py -c config.json -w 3 -g 0 -e 15

to the training command.

1)
One epoch is a complete pass through the training data.