实验平台:ubuntu20.04+pycharm+RTX3090+cuda12.2
源码Github地址:pysot,pysot-toolkit
实验时间:23.12.1
学习Pysot框架参考的博客和资料
1、学习 PySOT(1)(介绍、配置、使用)
2、学习 PySOT(2)(PySOT-toolkit、对比、画图)
3、OTB Benchmark 学习(下载链接、评价指标、配置)
修改pysot代码的部分
/home/chenying/PycharmProjects/pysot/toolkit/datasets/video.py
# self.img_names = [os.path.join(os.path.abspath(root), os.path.abspath(x)) for x in img_names]
self.img_names = [os.path.join(root, x) for x in img_names]
运行demo.py文件时出现的问题
问题1:KeyError: ‘Non-existent config key: BACKBONE.LAYERS’
运行tools/demo.py文件时出现问题:
造成原因:作者在.md文件中提供的下载链接中的yaml 文件太老了
解决方法:直接用github上pysot代码里/experiments目录下自带的config.yaml文件。我就是用链接里下载的文件直接覆盖了代码里带的文件,然后报错发现解决方法后又从hub上一个个下载再替换,汗!
参考:run demo 时出现 KeyError: ‘Non-existent config key: BACKBONE.LAYERS’
测试过程中出现的问题
问题2:Cython.Compiler.Errors.CompileError:toolkit/utils/region.pyx
造成原因:使用的python(3.8)和Cython版本过高。
解决方法:降低python和Cython版本,我使用的版本分别是3.6和0.29.24。
参考:CompileError: toolkit/utils/region.pyx #602
问题3:RuntimeError: CUDA error: no kernel image is available for execution on the device
其它报错信息:For debugging consider passing CUDA_LAUNCH_BLOCKING=1.//pytorch capability sm_86 is not compatible with the current PyTorch installation
造成原因:RTX3090架构较新,我在python3.6环境下直接用pip下载的torch和torchvision版本太旧(cuda版本是10.2,torch和torchvision版本记不得了 ),无法支持3090架构。
解决方法:按照参考博文先卸载已有的torch相关包,再重装可以使用的相对应version的torch。
卸载命令:
pip uninstall torch
pip uninstall torchvision
安装命令以及选择的版本:
pip3 install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/cu110/torch_stable.html
参考:
1、pytorch与torchvision的更新,卸载和秒安装(看这一篇就够了)
2、解决pytorch capability sm_86 is not compatible with the current PyTorch installation 问题
训练过程中出现的问题和值得记录的操作细节
1、数据的准备
将COCO2017、VID2015、trackingnet、det数据集准备好后,在/home/chenying/PycharmProjects/pysot/training_dataset/coco/pycocotools目录下,运行
python setup.py build_ext --inplace
创建准备数据的环境。