复现Multi-Adapter RGBT Tracking(一)——pretrain
复现Multi-Adapter RGBT Tracking
这里简单谈一下复现这篇文章所遇到的几个问题:
①在我将run_tracker.py里的文件路径全部改完并运行之后,报了这个错误:
cannot import name ‘imresize’ from ‘scipy.misc’
然后我百度发现scipy版本问题。scipy>=1.0.0不再包含函数imresize,官网给出的解释及解决办法如下:
from scipy.misc import imresize
imresize()
改为:
from PIL import Image
numpy.array(Image.fromarray(arr).resize())
参考文献:官网
cannot import name ‘imresize’ from ‘scipy.misc’
而这里具体是改为:
from PIL import Image
......
# scaled = imresize(cropped, (img_size, img_size))
scaled=np.array(Image.fromarray(cropped).resize(img_size, img_size))
②文章中的print语法貌似是高版本不适用,所以也要改,以下我用一个例子来说明:
#如train.py中的:
print "Cycle %2d, K %2d (%2d), Loss %.3f, Prec %.3f, Time %.3f" % \
(i, j, k, loss.data[0], prec[k], toc)
改为:
print ("Cycle %2d, K %2d (%2d), Loss %.3f, Prec %.3f, Time %.3f" % \
(i, j, k, loss.data[0], prec[k], toc))
例子:
# print "Save model to %s" % opts['model_path']
改为:
print ("Save model to %s" % opts['model_path'])
③在执行train.py中又遇到这个错误:
AttributeError: ‘dict’ object has no attribute ‘iteritems’
原因:python3中iteritems()被items()代替了
解决办法:将××.iteritems()改成××.items()
参考文献:AttributeError: ‘dict‘ object has no attribute ‘iteritems‘
④继续执行train.py遇到错误:
ValueError: Unknown resampling filter (107). Use Image.NEAREST (0), Image.LANCZOS (1), Image.BILINEAR (2), Image.BICUBIC (3), Image.BOX (4) or Image.HAMMING (5)
解决办法:
参考文献:
解决“ValueError: Unknown resampling filter (107). Use Image.NEAREST (0), Image.LANCZOS (1), Image.BIL”
⑤继续执行train.py遇到错误:
IndexError: invalid index of a 0-dim tensor. Use
tensor.item()
in Python ortensor.item<T>()
in C++ to convert a 0-dim tensor to a number
该问题的解决办法:
第一种:
如果不想更改代码,则需要安装低版本的pytorch。
但不推荐这种做法。因为低版本的在现在很多开源新算法中已经被抛弃了。
第二种:
将代码中的
return prec.data[0]
修改为:
return prec.item()
参考博客:高版本pytorch出现IndexError: invalid index of a 0-dim tensor.问题解决办法
最终跑出来了:
更多推荐
所有评论(0)