User Tools

Site Tools


pipeline:window:cryolo:picking_general_refine

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
pipeline:window:cryolo:picking_general_refine [2019/09/17 17:38]
shaikh [Picking particles - Using the general model refined for your data]
pipeline:window:cryolo:picking_general_refine [2019/09/18 10:39]
twagner [4. Training]
Line 6: Line 6:
 What does //fine-tuning// mean? What does //fine-tuning// mean?
  
-The general model was trained on a lot of particles with a variety of shapes and therefore learned a very good set of generic features. The last layers, however, learn a fairly abstract representation of the particles and it might be that they do not perfectly fit for your particle at hand. Fine-tuning only trains the last two convolutional layers, but keeps the others fixed. This adjusts the more abstract representation for your specific problem+The general model was trained on a lot of particles with a variety of shapes and therefore learned a robust set of generic features. The last layers, however, learn a fairly abstract representation of the particles and it might be that they do not perfectly fit your particle at hand. In order to adapt this abstract representation within the network to your specific particle, fine-tuning only affects the last two convolutional layers, but keeps all others fixed.
  
 Why should I //fine-tune// my model instead of training from scratch? Why should I //fine-tune// my model instead of training from scratch?
-  -  From theory, using fine-tuning should reduce the risk of overfitting ((Overfitting means, that the model works good on the training micrographs, but not on new unseen micrographs. The model just memorized what it saw instead of learning generic features.)) and the amount of training data. +  -  From theory, using fine-tuning should reduce the risk of overfitting ((Overfitting means, that the model works good on the training micrographs, but not on new unseen micrographs. The model just memorized what it saw instead of learning generic features.)) and the amount of the required training data. 
   - The training is much faster, as not all layers have to be trained.   - The training is much faster, as not all layers have to be trained.
   - The training will need less GPU memory ((We are testing crYOLO with its default configuration on graphic cards with >= 8 GB memory. Using the fine tune mode, it should also work with GPUs with 4 GB memory)) and therefore is usable with NVIDIA cards with less memory.    - The training will need less GPU memory ((We are testing crYOLO with its default configuration on graphic cards with >= 8 GB memory. Using the fine tune mode, it should also work with GPUs with 4 GB memory)) and therefore is usable with NVIDIA cards with less memory. 
    
-However, the fine tune mode is still somewhat experimental and we will update this section if see more advantages or disadvantages.+However, the fine tune mode is still somewhat experimental and we will update this section as crYOLO develops over time.
  
 If you followed the installation instructions, you now have to activate the cryolo virtual environment with If you followed the installation instructions, you now have to activate the cryolo virtual environment with
Line 76: Line 76:
 {{ :pipeline:window:cryolo_refine_02.png?300 |}} {{ :pipeline:window:cryolo_refine_02.png?300 |}}
 <note important> <note important>
-The number of layers to fine tune (specified by layers_fine_tune in the //"Optional arguments"// tab) is still experimental. The default value of 2 worked for us but you might need more layers..+The number of layers to fine tune (specified by layers_fine_tune in the //"Optional arguments"// tab) is still experimental. The default value of 2 worked for us but you might need more layers.
 </note> </note>
  
Line 94: Line 94:
  
  
-<hidden **Run training with the command line**>+<hidden **Alternative:** Run training with the command line>
 In comparison to the training from scratch, you can skip the warm up training ( -w 0 ). Moreover you have to add the //%%--%%fine_tune// flag to tell crYOLO that it should do fine tuning. You can also tell crYOLO how many layers it should fine tune (default is two layers with -lft 2 ): In comparison to the training from scratch, you can skip the warm up training ( -w 0 ). Moreover you have to add the //%%--%%fine_tune// flag to tell crYOLO that it should do fine tuning. You can also tell crYOLO how many layers it should fine tune (default is two layers with -lft 2 ):
  
pipeline/window/cryolo/picking_general_refine.txt ยท Last modified: 2020/06/05 09:05 by twagner