跑 Dimp 测试的一些记录

1.首先根据情况改local.py中的vot、网络和保存结果的路径
模型的路径 在 home/hongyuan/projects/pytracking/ltr/train_workspace_pre/checkpoints/ltr/dimp/dimp50/
最好还是按照以前网络的路径,然后用cp 命令拷贝模型

2.更改 参数配置文件中的模型的名字( parameter/atom/default.py 或者parameter/dimp/dimp50_vot.py)

3.更改myexperiments.py 添加自己要测试的数据集,例如我加了def vot_test(),一定要切记更改要跑的tracker和默认的配置文件,一定不要忘了。如:[Tracker(‘atom’,‘default’,i) …其中的 for i in range(3) ,range里面的数字代表你要运行几次,3代表跑三次,取平均.如果运行vot 使用default_vot
师兄用了多卡分布式训练,报错 No matching checkpoint file found,其实我不知道怎么弄,debug一下发现net为空,意思是只加载了模型的参数而没有保存模型,然后他写了一个add_constructor.py解决的问题,跟loading.py 有点像 ,总之通过这个代码可以正常加载网络(load模型时要把module前缀去了),这是由于多GPU 训练的原因, 反正我处于懵懂状态,后来遇到一篇博客讲的很清楚,这里引用过来
参考
loading.py 函数里面也有模型后缀的判断.pth.tar
4.在run_experiment.py 代码中可以设置开始的gpu卡,
parser.add_argument(’–gpu_sta’, type=int, default=0, help=‘which gpu to run code on.’)

测试vot 需要有重启机制(1 初始化 2 丢失 0 丢失后跳过的帧)所以要改atom中的basetracker.py 和 votdataset.py 测试时用batch_eao.py进行格式的转换,记得改路径(结果的路径如,"/home/hongyuan/projects/wenmei/pytracking/pytracking/tracking_results/dimp/")写到dimp就好,然后用eval_all.py进行测试,记得改要测数据集的路径(--dataset_dir /mnt/raid/hongyuan/data/test_data/ )这些代码在pysot中集成,然后师兄做了修改吧
四卡一次的结果
跑 Dimp 测试的一些记录_第1张图片
一卡三次的结果:
跑 Dimp 测试的一些记录_第2张图片
两卡的结果:
跑 Dimp 测试的一些记录_第3张图片
测试用run_experiments.py 有点慢,师兄写了一个parallel.test.sh 脚本 用多卡进行测试。
mpiexec -np 8 python run_experiment.py myexperiments vot_test
-np 8 表示采用8个线程来执行

你可能感兴趣的:(代码运行,DIMP)