Re-training strategy: init-weights from resnet50 or last snapshot?

deeplabcut

#1

Hi,

After refinement of (x,y) positions obtained from my first iteration (iteration-0), I’m about to start the re-training. Should I use resnet50 (original) or last snapshot weights ? What is the better strategy ?
=> iteration-0: snapshot-650000; loss = 0.0014 (crop=True; ratio: 0.4; multi-step: default learning rates). Test-set error (pixel): 2.41; Training-set error (pixel): 1.44

best,
R.


#2

To continue the training you should use the data from your last snapshot, otherwise you would start from the beginning again. So you will use the existing snapshot and update it with the learning-input from the extended labeled frames.(–> official guide)


#3

Ok, thanks!
So, I need to change <init_weights> flag in pose_cfg.yaml file to point to <snapshot> files folder? or DLC knows it is re-training and uses <snapshotindex = -1> to get the previous weights?


#4

please see the instructions here: https://github.com/AlexEMG/DeepLabCut/blob/master/docs/functionDetails.md#f-create-training-dataset

also, your pixel error looks really low, why are you re-training?

The decision to start again or start from old weights highly depends on the quality of your original labels. If there are errors, they will likely stay - so if you adjusted your original labels, then do not start from your weights from iteration-0.