pytracking 环境配置记录 以及运行 TrDiMP 的demo

目录

一、配置环境 

二、报错记录

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 

二、报错记录

1、 

 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

2、

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 的路径添加进去

3、

AssertionError: Torch not compiled with CUDA enabled

这个由于 pytorch和cuda 的版本不匹配导致。发现安装的cuda版本低了

输入 nvidia-smi 查看cuda版本,

pytracking 环境配置记录 以及运行 TrDiMP 的demo_第1张图片

 所以只能重新装环境了。还是以 nvcc -V 版本为准吧。

4、

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

5、

RuntimeError: unexpected EOF, expected 3361198 more bytes. The file might be corrupted.

上传的权重文件 由于之前 改名了的,损坏了,重新上传一下。

6、

[ WARN:[email protected]] global /io/opencv/modules/videoio/src/cap_v4l.cpp (902) open VIDEOIO(V4L2:/dev/video0): can't open camera by index

由于是使用的云端环境,无法打开本地的摄像头。

7、

AttributeError: module 'torch' has no attribute 'floor_divide'

详见这里

主要就是 去 pytracking/features/preprocessing.py中 注释 floor_divide 恢复上面的注释

pytracking 环境配置记录 以及运行 TrDiMP 的demo_第2张图片

三、demo效果

执行

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跑的。

你可能感兴趣的:(pytorch,深度学习,python)