crYOLO - training: Training of crYOLO, a deep learning high accuracy particle picking procedure.
Usage in command line
sp_cryolo_train.py particle_diameter training_dir annot_dir --cryolo_train_path=CRYOLO_PATH --architecture=architecture --input_size=input_size --num_patches=num_patches --overlap_patches=overlap_patches --train_times=train_times --pretrained_weights_name=PRETRAINED_NAME --saved_weights_name=SAVE_WEIGHTS_NAME --batch_size=batch_size --learning_rate=learning_rate --np_epoch=np_epoch --object_scale=object_scale --no_object_scale=no_object_scale --coord_scale=coord_scale --valid_image_dir=valid_image_dir --valid_annot_dir=valid_annot_dir --warmup=warmup --gpu=gpu --fine_tune --gpu_fraction=GPU_FRACTION --num_cpu=NUM_CPU
To train crYOLO for a specific dataset, one have to specify the path to training data in the config file. Then the training typcial happens in two steps:
1. Warmup:
sp_cryolo_train.py particle_diameter training_dir annot_dir --architecture="YOLO" --warmup=5
2. Actual training:
sp_cryolo_train.py --conf=config_path --warmup=0 --gpu=0
It will write a .h5 file (default yolo_model.h5) into your project directory.
The training is divided into two parts. 1. Warmup: It prepares the network with a few epochs of training without actually estimating the size of the particle. 2. Actual training: The training will stop when the loss on the validation data stops to improve.
See the reference below.
Training needs a GPU with ~8GB memory. Training on 20 micrographs typicall needs ~20 minutes.
Thorsten Wagner
Category 1:: APPLICATIONS
sparx/bin/sp_cryolo_train.py
Stable
None right now.