清晰的pysot训练pipeline

4 篇文章 0 订阅

@[TOC]pysot训练(pipeline)

pysot训练(pipeline)

前期已经跑通pysot系列算法后,想要尝试进行改进,需要进行训练以获取基准数据。此时发现很多问题并不能简单通过train.md搞懂,中间咨询了很多朋友,现在进行一些介绍,期望能帮助到一些朋友。

tips:由于封装的比较多,所以默认当做SiamRPN来看。如果想要了解其他算法,请查看其他帖子。想要运行SiamFC建议followlaizi_laizi版本的siamfc。本帖子只针对linux系统。

1、数据集配置

默认Pysot训练是4个数据集,而且加载的训练数据集前提是有一个裁剪的操作(显卡算力不大的话需要比较久的一段时间),裁剪操作在training_dataset对应的各个数据集文件夹内(py文件)。现附上已经裁剪好的数据集链接(感谢sot 日狗大佬的分享,解压后会出现crop511的数据集)。
以vid为例,须配置内部文件路径为 : vid—crop511,train.json,val.json—a,b,c,d,e。具体vid这个大的文件可以存放到任意位置,在config中指定即可。
链接:链接:https://pan.baidu.com/s/1gMySfLzsJE9molxOHzQgNg?pwd=dw32
提取码:dw32

2、config配置

如果直接使用默认的完整数据集进行训练,config不需要额外的配置,如果想要单独使用单个数据集,需要进行如下更改(core-config.py;experiments-siam-config.yaml)
将不想使用的数据集加载项注释掉即可
同样将对应的不需要数据集注释掉

1、以vid为例,如果仅使用此数据集,需要将(‘VID’)改为[‘VID’]形式,否则会报错。
2、将两张图片中出现的不需要的数据集配置均注释掉。
3、前面提到的vid数据集可以存放到任意位置,可以在此处将加载的vid数据集位置进行对应的更改。

3、其余说明

1、export PYTHONPATH=/path/to/siamban:$PYTHONPATH
需要将/path/to/更改为自身的路径。例/home/jay/siamban:

2、如果同时训练多个算法,可以使用linux中的screen命令(请查看相关帖子)。

3、由于默认设置epoch20,在第11个epoch开始时会开始解冻backbone,所以显存占用会有小幅度提升,在训练时请注意留一点显存剩余。

4、如果在训练过程因为一些原因中断,可以执行如下操作(config.yaml中)。
将RESUME=‘’,更改为RESUME:‘snapshot/checkpoint_e!!!.pth’,请将!!!替换为实际的已训练轮数,例如果在第11个epoch时中断,可更改为RESUME:‘snapshot/checkpoint_e10.pth’。

欢迎交流,如果有大佬试过如何单卡训练,也请不吝赐教。

  • 12
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 53
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 53
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值