Training the network
Cellfinder includes a pretrained network for cell candidate classification. This will likely need to be retrained for different applications. Rather than generate training data blindly, the aim is to reduce the amount of hands-on time by only generating training data where cellfinder classified a cell candidate incorrectly.
To generate training data, you will need:
- The cellfinder output file,
cell_classification.xml(it's in the
- The raw data used initially for cellfinder
cellfinder_train -y yaml_1.yml yaml_2.yml -o /path/to/output/directory/
--yamlThe path to the yaml files defining training data
--outputOutput directory for the trained model (or model weights)results
--continue-trainingContinue training from an existing trained model. If no model or model weights are specified, this will continue from the included model.
--trained-modelPath to a trained model to continue training
--model-weightsPath to existing model weights to continue training
--network-depthResnet depth (based on He et al. (2015)). Choose from(18, 34, 50, 101 or 152). In theory, a deeper network should classify better,at the expense of a larger model, and longer training time. Default: 50
--batch-sizeBatch size for training (how many cell candidates to process at once). Default: 16
--epochsHow many times to use each sample for training. Default: 1000
--test-fractionWhat fraction of data to keep for validation. Default: 0.1
--learning-rateLearning rate for training the model
--no-augmentDo not use data augmentation
--save-weightsOnly store the model weights, and not the full model. Useful to save storage space.
--no-save-checkpointsDo not save the model after each training epoch. Useful to save storage space, if you are happy to wait for the chosen number of epochs to complete. Each model file can be large, and if you don't have much training data, they can be generated quickly.
tensorboard --logdir outputdirectory/tensorboardto view.
--save-progressSave training progress to a .csv file (
cellfinder_trainoptions can be found by running: