2023年11月29日发(作者:)
Pytracking代码运⾏笔记
/visionml/pytracking
clone /visionml/
pytracking/
submodule update --init
4.
bash conda_install_path pytracking
conda_install_path替换为:
which conda
输出anaconda3的路径
即为:
bash /data/anaconda3 pytracking
特别的,关注⼀下强⼤的环境安装脚本⽂件
应⽤脚本安装不成功(conda环境丢失),于是⼿动创建环境,⼿动安装
conda install -y XXX 表⽰确认安装,确认创建
当执⾏:python -c "XXX"时,XXX表⽰要执⾏的命令,例如:
输⼊:python -c "import os; print(able)"
结果为:/usr/bin/python
5.
需要翻墙下载的两个权重模型:
/uc?export=download&id=1aWC4waLv_te-BULoy0k-n_zS-ONms21S 可能不⾏
/uc?export=download&id=1ZTdQbZ1tyN27UIwUnUrjHChQb5ug2sxr 真垃圾不⾏!
/drive/folders/1WVhJqvdu-_JG1U-V0IqfxTUa1SBPnL0O 可以了!
6.
运⾏:python run_ atom default时
出现错误:EOFError: Ran out of input
出现错误:
No matching checkpoint file found
需要翻墙下载正确的权重模型。
解决⽅案:
多翻⼀翻issues中的问题和解答,总是有帮助的。
不可以直接对下载的⽂件直接进⾏解压,会报错,因为他是⼀个torch的模型,需要⽤()来导⼊该⽂件。
记得把⽂件名atom_改名为:atom_(直接重命名即可)
7.
python run_ tracker_name parameter_name --dataset_name dataset_name --sequence sequence --debug debug --threads threads
改为:
改为:
model = (model_path, map_location='cpu')
9.
解决完问题8之后,出现问题:pytorch框架下报错cuda驱动版本不满⾜cuda运⾏版本。
问题⽇志如下:
log:
(pytracking) 09534@09534:/data/pzn/pzncode/pytracking/pytracking$ python run_ atom default
VIDEOIO ERROR: V4L: can't open camera by index 0
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
Using /tmp/torch_extensions as PyTorch
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/...
Building extension module _
ninja: no work to do.
Loading extension module _
Traceback (most recent call last):
File "run_", line 35, in
main()
File "run_", line 31, in main
run_webcam(r_name, r_param, )
File "run_", line 20, in run_webcam
_webcam(debug)
File "../pytracking/evaluation/", line 94, in run_webcam
_webcam()
File "../pytracking/tracker/base/", line 179, in track_webcam
lize_features()
File "../pytracking/tracker/atom/", line 19, in initialize_features
lize()
File "../pytracking/features/", line 16, in initialize
lize()
File "../pytracking/features/", line 98, in initialize
()
File "/data/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/", line 265, in cuda
return self._apply(lambda t: (device))
File "/data/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/", line 193, in _apply
module._apply(fn)
File "/data/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/", line 193, in _apply
module._apply(fn)
File "/data/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/", line 199, in _apply
= fn()
make
./deviceQuery
(3)对应本机的cuda版本选择合适版本的pytorch
conda/pip3 uninstall pytorch
conda/pip3 install [pytorch-version-link]
09534服务器的cuda版本为9.0,其对应的pytorch版本为:0.4.0
即运⾏以下命令即可:
conda uninstall pytorch
conda install pytorch=0.4.0
10.
出现问题:缺少⾼版本pytorch中的扩展包的头⽂件,所以还是不能选⽤如此低版本的pytorch
⽇志⽂件如下:
logs:
(pytracking) 09534@09534:/data/pzn/pzncode/pytracking/pytracking$ python run_ atom default
VIDEOIO ERROR: V4L: can't open camera by index 0
Using /tmp/torch_extensions as PyTorch
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/...
File "
File "../ltr/models/bbreg/__init__.py", line 1, in
from .atom_iou_net import AtomIoUNet
File "../ltr/models/bbreg/atom_iou_", line 4, in
from _pool import PrRoIPool2D
File "../ltr/external/PreciseRoIPooling/pytorch/prroi_pool/__init__.py", line 12, in
from .prroi_pool import *
File "../ltr/external/PreciseRoIPooling/pytorch/prroi_pool/prroi_", line 14, in
from .functional import prroi_pool2d
File "../ltr/external/PreciseRoIPooling/pytorch/prroi_pool/", line 22, in
verbose=True
File "/data/anaconda3/envs/pytracking/lib/python3.6/site-packages/torch/utils/cpp_", line 501, in load
_build_extension_module(name, build_directory)
File "/data/anaconda3/envs/pytracking/lib/python3.6/site-packages/torch/utils/cpp_", line 582, in _build_extension_module
name, ()))
FAILED: prroi_pooling_gpu.o
RuntimeError: Error building extension '_prroi_pooling': [1/2] c++ -MMD -MF prroi_d -DTORCH_EXTENSION_NAME=_prroi_pooling -I/data/anacon
c++ -MMD -MF prroi_d -DTORCH_EXTENSION_NAME=_prroi_pooling -I/data/anaconda3/envs/pytracking/lib/python3.6/site-packages/torch/lib/inc
compilation terminated.
ninja: build stopped: subcommand failed.
参考⽹站,使⽤该命令进⾏重新安装pytorch:
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
pytorch包下载链接:
/pytorch/linux-64/pytorch-1.1.0-py3.6_cuda9.0.176_cudnn7.5.1_2
查看conda的源:
conda config --show channels
删除conda的指定源:
conda config --remove channels '/anaconda/pkgs/free/'
conda换回默认源:
conda config --remove-key channels
/data/pzn/pzncode/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c:12:29: fatal error: torch/extension.h: No such file or directo
由于使⽤conda直接安装,⼜没有添加合适的源会使得下载速度过慢,或者是下载不下来的情况,尝试把下载好的conda安装的pytorch包放到路径anaconda3/pkgs下并
所以采⽤pip直接对pytorch进⾏安装,从官⽹上可知: /
当cuda的版本为9.0时,直接使⽤命令:pip install torch torchvision即可。
安装好的pytorch版本仍为:1.1.0
即满⾜⾼版本的pytorch和低版本的cuda driver的需求。
11.
(1)
python run_ atom default因为调⽤不了摄像头,不能运⾏成功
(2)
python run_ atom default --dataset otb --sequence Soccer 在序列上运⾏成功
结果保存在:pytracking/pytracking/tracking_results/atom/default/下
(3)
python run_ myexperiments atom_nfs_uav 没有下载这个数据集
python run_ myexperiments otb_test 在otb数据集上运⾏成功
代码修改:
(1)修改了pytracking/pytracking/evaluation/⽂件中的第12⾏:otb_path的路径:
12 line: (fix)
#_path = ''#pang_comment
_path = '/data/pzn/pzncode/pytracking/pytracking/dataset/otb' #pang_add
(2)为解决问题8,修改⽂件:
(3)为了在整个数据集上的做测试,修改⽂件:
pytracking/pytracking/experiments/⽂件中的第20⾏:增加
line 20: (add)
def otb_test():
# Run ATOM and ECO on the UAV dataset
trackers = [Tracker('atom', 'default', i) for i in range(1)]
dataset = OTBDataset()
return trackers, dataset
为了测试在otb数据集上的结果和表现,结果保存在pytracking/pytracking/tracking_results/atom/default_000/下
表现如下:
FPS: 31.433773656093244
Tracker: atom default 0 , Sequence: Human3
FPS: 33.245764078114185
Tracker: atom default 0 , Sequence: Subway
FPS: 29.68875880900868
Tracker: atom default 0 , Sequence: Surfer
FPS: 30.5023
Tracker: atom default 0 , Sequence: Suv
FPS: 31.88824
Tracker: atom default 0 , Sequence: Sylvester
FPS: 31.766
Tracker: atom default 0 , Sequence: Tiger1
FPS: 30.578924915050074
Tracker: atom default 0 , Sequence: Tiger2
FPS: 22.495691874633252
Tracker: atom default 0 , Sequence: Toy
FPS: 30.445
Tracker: atom default 0 , Sequence: Trans
FPS: 28.6514
Tracker: atom default 0 , Sequence: Trellis
FPS: 39.66
Tracker: atom default 0 , Sequence: Twinnings
(1)/data/pzn/pzncode/pytracking/pytracking/evaluation/
line 17: (fix)
#_path = '' #pang_comment
#_path = '/data/pzn/dataset_pang/UAV123' #pang_add #uav123
_path = '/data/pzn/dataset_pang/visdrone2018' #pang_add #drone2018
(2)/data/pzn/pzncode/pytracking/pytracking/evaluation/


发布评论