AQATrack开源模型复现
目录
一、配置环境
按照readme说明书,anaconda终端输入
conda create -n aqatrack python=3.8
conda activate aqatrack
bash install.sh
最后一行Windows系统会报错,缺少一些whl文件之类的,后续在终端会陆续补齐的。此时,打开PyCharm,建一个项目aqatrack,路径选aqatrack主干文件的根目录,不选的话,会得到一个全新的文件夹,在github下载的东西会嘲笑这个愚蠢的人类不知道PyCharm的使用规则。
选现有环境【建议配置都按开源项目的readme里的安装】
二、设置数据集路径
在README文件里复制代码
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir ./output
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir ./output
替换点,在终端运行配置路径的命令,记得把里面的点换成自己 的绝对路径,python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir ./output,注意:这里是反斜杠---也可以用两个正斜杠\\,看个人习惯,成功运行后终端无报错。
lib/train/admin/local.py # paths about training lib/test/evaluation/local.py # paths about testing
查看两个路径文件:在lib.train.admin和lib/test/evaluation下会生成local.py文件里路径部分会自动修改成你设置的路径,如果终端运行配置路径的命令报错缺少模块,缺什么补什么,用pip+阿里镜像源:
pip install torch -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
在原有的代码上的修改主要有添加路径、导入库、添加数据集逻辑语句,根目录下添加的就只有读取数据集的脚本,后文有详细说明,尽量不修改或者添加根目录下面的其他脚本,目的是不打乱原有的逻辑,侵入性最小化。
在lib.train.admin下的environment.py,有数据集的地方都要添加自己的数据集名称。用不到的数据集都用Ctrl+/ 注释。
三、修改配置文件参数
在\AQATrack-main\AQATrack-main\experiments\aqatrack下有4个yaml文件,AQATrack-ep100-got-256
AQATrack-ep100-got-384
AQATrack-ep150-full-256
AQATrack-ep150-full-384
-
ep100 / ep150 → 训练了 100 个 epoch 或 150 个 epoch
-
got → 指在 GOT-10k 数据集上训练/验证
-
256 / 384 → 输入图像尺寸(如 256×256 或 384×384 像素)
256是基础,384是骨干,got指的是特殊数据集got的版本,不需要用got数据集的一般用256即可,384 分辨率更高,理论上能保留更多细节,跟踪小目标或精度要求高时更有优势,但计算量和显存占用更大。
每一轮采样率根据需要调整,一般不动。
23行-添加数据集名称,29行-更改采样的比例
TRAIN: DATASETS_NAME: - LASOT - GOT10K_vottrain - COCO17 - TRACKINGNET - 这里添加自己的数据集名称,如果不需要用前几个数据集,直接Ctrl+/注释即可 DATASETS_RATIO: - 1 - 1 - 1 - 1 - 1 这里是比例,用几个数据集就写几个,可以设置0-1范围的数字 SAMPLE_PER_EPOCH: 15000
66行-Batch Size按2的幂次来训练,从高到底的试,32-24-16-8-4-2,按最大的来运行最快,oom就往下调-oom指报错出现out of memory,意思是显存溢出,不足以支撑。
74行-显卡数量,多个显卡可以跑更快,有几个写几个,用 nvidia-smi 可查看
80行-验证次数VAL_EPOCH_INTERVAL:20,一般不修改
四、数据集分类与读取
(1)lib.train.data_specs里面添加分好类的数据集txt文件
【这块分类的代码让deepseek去写,喂给他路径,以及分类的要求,注意给deepseek说明不需要起始帧范围】
(2)lib.train.dataset里面的__init__.py文件里面导入类:
from .lasot import Lasot from .got10k import Got10k
这里加入引入数据集名字的类from .ootb import OOTB
(3)lib.train.dataset里面需要补充的一个ootbdataset.py文件,这个ootbdataset.py可以喂给lasotdataset.py文件让D师傅学习格式再根据自己的数据集手搓一个
(4)lib.train下属的base_functions.py里同样在文件开头导入数据集类
# 在现有导入语句后添加
from lib.train.dataset import OOTB, OOTB_lmdb # 假设存在这些类
修改 names2datasets 函数在32行添加数据集名称,在81行添加数据集支持,代码如下
# 添加 OOTB 数据集支持
if name == "OOTB":
if settings.use_lmdb:
print("Building OOTB from lmdb")
# 假设 OOTB_lmdb 需要的参数
datasets.append(OOTB_lmdb(settings.env.ootb_lmdb_dir, split='train', image_loader=image_loader))
else:
print("Building OOTB dataset")
# 假设 OOTB 需要的参数:数据目录和分割
datasets.append(OOTB(settings.env.ootb_dir, split='train', image_loader=image_loader))
以上,参数修改完成,可以开始训练了。
五、运行训练命令
python tracking/train.py --script seqtrack --config seqtrack_b256 --save_dir . --mode single`
参数 含义
--script seqtrack 选择 seqtrack 算法脚本
--config seqtrack_b256 使用 batch size=256 的配置
--save_dir . 模型保存在当前目录
--mode single 单GPU训练模式(GPU数量>1可改为 --mode multiple)
或者运行python D:/VideoX-master/SeqTrack/lib/train/run_training.py --script seqtrack --config seqtrack_b256 --save_dir . --mode single
遇到安装包缺失的情况就用pip+阿里源,问deepseek或者csdn,总有办法,别气馁,别驼背~
文件内容里面出现的陌生词汇:tensorboard-记录欠拟合、过拟合问题的训练曲线,有些warning可以忽略,只要不影响模型训练的都当看不见~~
补充:
测试的修改lib.test:
lib.test.evaluation里面修改
(1)datasets里面改
dataset_dict = dict(
otb=DatasetInfo(module=pt % "otb", class_name="OTBDataset", kwargs=dict()),
nfs=DatasetInfo(module=pt % "nfs", class_name="NFSDataset", kwargs=dict()),
uav=DatasetInfo(module=pt % "uav", class_name="UAVDataset", kwargs=dict()),
(2)environment里面有两个类EnvSettings和EnvSettings_ITP
这里面添加数据集,照着其他数据集的格式写就行
(3)读取数据集的文件生成参考latsotdataset的读取方式,依旧,deepseek手搓
lib.tracking.test_epoch的46行添加数据集名字,78行epoch=xxx,训练权重,名字
训练过程中train.trainers下的base_trainer.py里面96-98修改条件语句可以调整训练轮数,保存最后10轮或每10轮保存一次,可以修改权重。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)