AQATrack模型复现遇到的问题
目录
(5)AQATrack-main\lib\train中base_functions.py需要在现有代码基础上进行2处修改:
(6)报错是groundtruth 文件中的数据格式不符合预期,一般是数据集读取文件有问题,deepseek会提示修改_load_groundtruth 方法
(7)程序找不到配置文件 ./experiments/aqatrack/AQATrack-ep150-full-256.yaml找到对应脚本,使用绝对路径
(9)报错:ValueError:Error initializing torch. distributed using env:// rendezvous:environment variable
(10)FileNotFoundError: /airplane/airplane-1/groundtruth.txt not found.
(11)不能直接运行 ootbdataset.py,这个文件是供其他脚本导入使用的,不是独立运行的脚本。
(12) ootbdataset.py的读取有问题,把代码递给deepseek,手敲数据集目录结构,belike
(20)每一帧的跟踪锚框的图是输出需要让deepseek写一个脚本
注意:模型复现的硬件条件为:
CPU: Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz
Memory: 128 GB
GPU: 1 x NVIDIA TITAN RTX
Windows系统下PyCharm的anaconda3里面运行。
(1)确保pytorch的版本是GPU。
如果只是pytorch的版本是CPU,直接在这个环境里面去修改那个版本改为GPU就可以了,不用整个环境去打包,打包环境进行迁移的灵感💡来源于deepseek的离谱建议
具体操作步骤:
-
确认 CUDA 版本
在终端运行nvidia-smi,查看右上角的 CUDA 版本(如 11.8、12.1),需选择与之兼容的 PyTorch 版本。 -
卸载 CPU 版 PyTorch
bash
pip uninstall torch torchvision torchaudio
若用 conda 安装,则用
conda remove。 -
安装 GPU 版 PyTorch
前往 pytorch.org,根据你的包管理器(pip/conda)和 CUDA 版本生成安装命令。例如:bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
-
验证安装
运行 Python 执行:python
import torch print(torch.cuda.is_available()) # 应返回 True
注意事项:
-
确保系统已安装 NVIDIA 显卡驱动 且版本支持所需 CUDA(驱动版本可用
nvidia-smi查看)。 -
如果原环境依赖了与 PyTorch 版本严格绑定的库(如某些
transformers版本),建议先确认兼容性。 -
对于 conda 环境,GPU 版 PyTorch 可能自动安装 cudatoolkit,通常不影响其他包。
(2)pip命令的使用
# 示例1:使用具体版本号
pip install /path/to/tensorboardx-2.5.1-py3-none-any.whl
# 示例2:如果文件在当前目录
pip install ./tensorboardx-2.5.1-py3-none-any.whl
# 示例3:使用绝对路径
pip install /home/user/downloads/tensorboardx-2.5.1-py3-none-any.whl
# 示例4:同时指定多个包
pip install /path/to/tensorboardx-2.5.1-py3-none-any.whl numpy pandas
(3)补充数据集常识
-
GOT-10k 是一个用于目标跟踪(object tracking)的大规模数据集,包含超过 10,000 个视频片段。
-
通常数据集会按官方划分将视频序列分为训练集、验证集和测试集。
got10k_train_split.txt和got10k_val_split.txt这两个文件是 训练集(train split) 和 验证集(val split) 的序列编号。
(4)数据集读取脚本需要给出数据集的目录结构
(5)AQATrack-main\lib\train中base_functions.py需要在现有代码基础上进行2处修改:
. 首先在文件开头导入OOTB数据集类
# 在现有导入语句后添加 from lib.train.dataset import OOTB, OOTB_lmdb # 假设存在这些类
OOTB数据集类在ootbdataset.py里面有定义
. 修改 names2datasets 函数
# 添加 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))
(6)报错是groundtruth 文件中的数据格式不符合预期,一般是数据集读取文件有问题,deepseek会提示修改_load_groundtruth 方法
(7)程序找不到配置文件 ./experiments/aqatrack/AQATrack-ep150-full-256.yaml找到对应脚本,使用绝对路径
(8)手机USB共享网络故障
已经用数据线连接了手机和主机,但是电脑还是不能连接到网络热点——换条线,USB2.0或者3.0的数据传输线,买了绿联的0.5m的线¥15
(9)报错:ValueError:Error initializing torch. distributed using env:// rendezvous:environment variable
deepseek回答是:这个错误是因为在使用 PyTorch 分布式训练时,缺少必要的环境变量。错误信息显示 WORLD_SIZE 环境变量没有设置。
--local_rank LOCAL_RANK |
分布式训练的本地 rank |
实际上:工作站只有一张显卡,用只启用一张GPU的命令,或者没有 --mode 参数,单卡训练直接不设 --local_rank 就行。
(10)FileNotFoundError: /airplane/airplane-1/groundtruth.txt not found.
这个报错是路径问题,我的数据集里面没有这几类,运行命令之前没有修改用的数据集,自然加载原有代码里设置的lasot数据集,改数据集的相关代码
(11)不能直接运行 ootbdataset.py,这个文件是供其他脚本导入使用的,不是独立运行的脚本。
(12) ootbdataset.py的读取有问题,把代码递给deepseek,手敲数据集目录结构,belike
OOTB/
car_1/
img/
0001.jpg
0002.jpg
...
groundtruth.txt
car_2/
img/
groundtruth.txt
...
(13)测试目录的设置含义
-
lib/test/evaluation/local.py— 路径配置 -
lib/test/evaluation/ootbdataset.py— 自定义数据集类 -
lib/test/evaluation/datasets.py— 数据集注册
(14)AQATrack 模型训练过程中的日志输出
[train: 16, 650 / 3750] ← epoch 16,当前迭代 650/3750
(15)解决visdom安装错误
不明原因报错,ERROR: Failed to build 'visdom' when getting requirements to build wheel
换个visdom版本,手动下载,手动安装
(16)内存溢出
OSError: [WinError 1455] 页面文件太小,无法完成操作,是 Windows 系统在运行内存密集型程序(特别是多进程并行)时的典型报错。它的意思是系统虚拟内存不足,无法加载 PyTorch 所需的 GPU 动态链接库(DLL 文件)。
原因是你的测试脚本 test_epoch.py 开启了多进程并行评估:
python
# test_epoch.py 中的相关配置
parser.add_argument('--threads', type=int, default=8) # 8 个线程
parser.add_argument('--num_gpus', type=int, default=4) # 计划使用 4 个 GPU
每个评估进程在启动时都会尝试加载 PyTorch 的 CUDA 动态库(如报错中的 caffe2_detectron_ops_gpu.dll),而 Windows 会为每个进程都分配独立的虚拟内存来映射这些文件,这导致虚拟内存被迅速耗尽,从而引发“页面文件太小”的报错。
(17)关于FPS: -1的报错
报错Loaded: train_4 (train) - 120 frames
Loaded: train_5 (train) - 120 frames
Loaded: train_6 (train) - 250 frames
Loaded: train_7 (train) - 120 frames
Loaded: train_8 (train) - 120 frames
Loaded: train_9 (train) - 120 frames
Total sequences loaded: 110
Evaluating 1 trackers on 110 sequences
FPS: -1
FPS: -1
FPS: -1
FPS: -1
模型识别到已经测试过并且有结果就会这样,把原来结果换个地方存,或是删了
(18)关于参数名称不一致的报错
报错Exception: Result not found. D:/AQATrack-main/output/test/tracking_results//aqatrack/multi-hivit-ep150-4frames/ootb/aqatrack_hivitb_v1-150/car_1.txt,实际上文件存在,在D:\AQATrack-main\output\test\tracking_results\aqatrack\AQATrack-ep150-full-256\ootb\aqatrack_hivitb_v1-150
错误信息中显示的路径和你实际文件所在路径不一致,关键区别在于 parameter_name 的值。代码中你写的是 'multi-hivit-ep150-4frames',但实际文件夹名是 AQATrack-ep150-full-256。
(19)eval_data.pkl文件
D:\AQATrack-main\output\test\result_plots\ootb出现eval_data.pkl文件是结果
. 数值结果(打印在控制台)
打印在终端,
| ootb | AUC | 0P50 | 0P75 | Precision | Norm Precision |
| AQATrack256_150 | 71.62 | 87.42 | 65.93 | 90.89 | 85.56 |
(20)每一帧的跟踪锚框的图是输出需要让deepseek写一个脚本
图表结果怎么得到,只有打印在控制台的数值结果图表结果怎么得到,只有打印在控制台的数值结果,每一帧的跟踪锚框的图是输出的脚本,卫星视频数据集位置D:/AQATrack-main/data/OOTB,数据集结构为
OOTB数据集结构为:
OOTB/
car_1/
img/
0001.jpg
0002.jpg
...
groundtruth.txt
car_2/
img/
groundtruth.txt
...
以及输出的结果aqatrack > AQATrack-ep150-full-256 > ootb > aqatrack hivitb_v1-150txt/car 1.txtcar_1_time.txtcar 2.txtcar_2_time.bxtcar_3.bxt结构
car_1_time.txt
0.005974
6.943407
0.128434
0.134408,
car_1.txt
35,282,20,22
35,279,20,23
36,279,20,23
37,278,20,23生成一个代码
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)