Closed Alan-Han closed 2 years ago
Hi, Thank you for your interest in our research.
If you want to train TRACER with your own dataset or benchmark datasets (e.g., DUT-TR), I recommend training TRACER with EfficientNet based pre-trained model.
In this case, you don't need to employ the pre-trained TRACER (just build the scripts without best_model.pth
).
In other cases, such as testing your own dataset, put the pre-trained weight best_model.pth
to the path results/DUTS/TEx_0/best_model.pth
corresponding to backbone scale.
For example, if you determine EfficientNet-b2 as a backbone, the path is results/DUTS/TE2_0/best_model.pth
(here, best_model.pth is pre-trained weight of TE2).
Afterward, please run main.py
using test mode (i.e., python main.py test --save_map True
).
If the above answers are not enough, please leave the issue with what you plan to do.
Thanks for responding me so fast. Your "Pre-trained models of TRACER" is actually for testing, there is no need to use it as pretrained model for finetuning with new dataset Have I got that right?
Indeed, when we initialized the network with pre-trained TRACER on other dataset, not the benchmark dataset, employing EfficienctNet as a backbone showed better generalization performance compared to fine tuning with TRACER. I'm not sure training with pre-trained TRACER show better performance on your dataset, but I recommend you initializing the network with EfficientNet if you want to train your own dataset.
Hi, I downloaded pre-trained models of TRACER as you mentioned in README, but I'm confused about the step below _Change the model name as 'best_model.pth' and put the weights to the path 'results/DUTS/TEx_0/bestmodel.pth'
question is, this path is model save path, not pretrained model load path, and I could not find you load "best_model.pth" at start of training anywhere in your code, did I miss something?