Closed solapark closed 5 years ago
Thank you for your reply! But when I refer there, I can't still understand that it's really fine tuning is.
In DT step, below code means you don't load pre-trained weight(=weight trained on source domain), and just 'train' network with DT images.(not fine tuning) python train_model.py --root datasets/dt_clipart/VOC2007 --root datasets/dt_clipart/VOC2012 --subset trainval --result result/dt_clipart --det_type ssd300 --data_type clipart --gpu 0 --max_iter 500 --eval_root datasets/clipart
In PL step, below code means you load pre-trained weight(=weight trained with DT images), and just 'train' network with DT images.(not fine tuning) python pseudo_label.py --root datasets/clipart --data_type clipart --det_type ssd300 --gpu 0 --load models/clipart_dt_ssd300 --result datasets/dt_pl_clipart python train_model.py --root datasets/dt_pl_clipart --subset train --result result/dt_pl_clipart --det_type ssd300 --data_type clipart --gpu 0 --load models/clipart_dt_ssd300 --eval_root datasets/clipart
As far as I now, fine tuning means freezing low level weights and updating only high level weights with new data. When I see your 'train_model.py' code, I can't find code related to fine tuning.
Am I understanding something wrong? It will be helpful if you let me know what I'm missing. Thank you.
freezing low level weights
was popular a few years ago, but it seems invalid nowadays, I think.
When I read your paper, FSD is fined-tuned both in DT and PL steps,. But, I can't find fine tuning code in your git code. Can you explain where the fine tuning part is in your code? Thank you.