在 yolo代码utils/utils.py中用到了torchvision
i = torchvision.ops.boxes.nms(boxes, scores, iou_thres)
由于tx2上的pytorch安装的是1.4版本,在官网上查询对应的torchvision版本是v0.5.0
官网地址:https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-9-0-now-available/72048.
因此尝试在Tx2中安装torchvision
在pip install torchvision的过程中发现找不到对应的版本,安装0.2,0.3版本的没有ops模块,0.9版本的直接import报错
只能按照官网教程下载下来自己编译了
在之前的板子里面是直接编译成功的,但是这块包子不知道为啥报莫名奇妙的错误
最开始查询
error:command 'aarch64-linux-gnu-gcc' failed with exit status 1
参考这篇博客https://blog.csdn.net/Aidam_Bo/article/details/112854779
但是最后发现跟博主的错误并不相同,只是报错相同而已
往上看发现是with_bias模块名称不匹配
或者是out_put模块不匹配
由于对底层的c++代码懂得并不是很多,但是大概猜可能是pytorch代码版本的问题,
想着看一下torch/torch.h这个文件,但是奇怪的是根本没找到,有大佬的话可以解释下这个文件在哪看
没办法只能在报错的文件上操作了
把with_bias改成bias
把output_channel改成out_channel
再编译就行了
这个问题查了好久都没查到,希望遇到同样问题的兄弟们能看到少浪费点时间
根据编译报错一点一点的改易也是很麻烦了,不知道有没有大佬有更好的方法,期待交流