目录
一、配置环境
二、报错记录
1、
2、
3、
4、
5、
6、
7、
三、demo效果
conda create --name pytracking python=3.7
source activate pytracking
下面这个注意下,cuda 的版本不能装错。事先nvidia-smi 看一下,要不出问题还得重新装环境,每次装完试试
# conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
# conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
>>> import torch
>>> print(torch.__version__)
1.2.0
>>> print(torch.cuda.is_available())
True
>>> exit()
pip install matplotlib pandas tqdm
pip install opencv-python visdom tb-nightly scikit-image tikzplotlib gdown
pip install cython
pip install pycocotools
sudo apt-get install ninja-build
sudo apt-get install libturbojpeg
pip install jpeg4py
python run_webcam.py tracker_name parameter_name
>>ImportError: cannot import name 'int_classes' from 'torch._six' (/root/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/_six.py)
解决办法:
去 ltr/data/loader.py 文件中更改
# from torch._six import string_classes, int_classes
int_classes = int
string_classes = str
python run_webcam.py trdimp trdimp
>>Exception: No matching checkpoint file found
详见 这里
解决办法
下载的model 不要改。之前下载的是 trdimp_net.pth.tar 不需要任何改动,放在pytracking 的 networks文件下就行。然后重点在这
去 pytracking/evaluation/local.py 中配置自己项目的各种路径
如下所示
def local_env_settings():
settings = EnvSettings()
# Set your local paths here.
settings.davis_dir = ''
settings.got10k_path = ''
settings.got_packed_results_path = ''
settings.got_reports_path = ''
settings.lasot_path = ''
settings.network_path = '/root/data/zjx/TrSiam/TransformerTrack-main/pytracking/networks/'
settings.nfs_path = ''
settings.otb_path = ''
settings.result_plot_path = ''
settings.results_path = ''
settings.segmentation_path = ''
settings.tn_packed_results_path = ''
settings.tpl_path = ''
settings.trackingnet_path = ''
settings.uav_path = ''
settings.vot_path = ''
settings.youtubevos_dir = ''
return settings
把 network 的路径添加进去
AssertionError: Torch not compiled with CUDA enabled
这个由于 pytorch和cuda 的版本不匹配导致。发现安装的cuda版本低了
输入 nvidia-smi 查看cuda版本,
所以只能重新装环境了。还是以 nvcc -V 版本为准吧。
ImportError: cannot import name 'PILLOW_VERSION' from 'PIL' (/root/anaconda3/envs/pytracking/lib/python3.7/site-packages/PIL/__init__.py)
pillow 版本过高,卸载当前版本,下载之前的版本
pip uninstall pillow
pip install pillow==6.2.2
RuntimeError: unexpected EOF, expected 3361198 more bytes. The file might be corrupted.
上传的权重文件 由于之前 改名了的,损坏了,重新上传一下。
[ WARN:[email protected]] global /io/opencv/modules/videoio/src/cap_v4l.cpp (902) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
由于是使用的云端环境,无法打开本地的摄像头。
AttributeError: module 'torch' has no attribute 'floor_divide'
详见这里
主要就是 去 pytracking/features/preprocessing.py中 注释 floor_divide 恢复上面的注释
执行
python run_video.py trdimp trsiam /root/data/zjx/TrSiam/TransformerTrack-main/my_experiments/video/fernando.avi
这里的参数顺序依次是 tracker_name、 tracker_paramer、 video_path 。
效果如下所示
QQ录屏20221031094722
效果是真的好,但是是真的慢。由于引入了 transformer,计算复杂度肯定远远大于基于孪生网络的。它论文中的FPS 的效果应该建立在一个非常牛逼的硬件之上,本次的实验条件为一块 RTX2080ti GPU 上。没错,demo 也是用GPU跑的。