jetson Xavier nx安装torch和torchvision,并解决解决版本不匹配(报错RuntimeError: Couldn‘t load custom C++ ops)的问题

   

目录

1、安装torch

2、安装torchvision

3、验证是否安装成功

4、 错误记录

5、torch和torchvision网盘链接


首先,torch和torchvision都不能直接pip安装,

以下的演示是torch1.10.0  +    torchvision v1.11.1

1、安装torch

torch要去英伟达官网上找。链接如下(科学上网)https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048,(百度网盘里也有,后边在写)

上边网址打开之后是这样jetson Xavier nx安装torch和torchvision,并解决解决版本不匹配(报错RuntimeError: Couldn‘t load custom C++ ops)的问题_第1张图片

 根据你的cuda版本(查询cuda版本,命令用nvcc -v),我是cuda10.2,按如下对应关系,

jetson Xavier nx安装torch和torchvision,并解决解决版本不匹配(报错RuntimeError: Couldn‘t load custom C++ ops)的问题_第2张图片

 下载torch版本,挑一个下载就行,下载完的文件像这样,这三个文件的百度网盘链接在最后

 下载完后用u盘转到jetson nx 板子上,主目录下新建个文件夹放好(位置没有要求,这样做就是为了删除的时候好找)

在板子上,进入放torch的文件夹,打开终端,进入你的conda虚机环境(如果你有的话)

运行

pip3 install torch-1.10.0-cp36-cp36m-linux_aarch64.whl

 注意torch文件名换成自己的,安装完成后,会提示successful install torch1.10.0,就安装成功了

2、安装torchvision

网上大部分的arrch.whl文件不可用,也有用

git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision  方法的,

下完zip文件,解压,自己编译是最保险的,以下网址科学上网

https://github.com/pytorch/vision  (GitHub的官方网站)

mirrors / pytorch / vision · GitCode(一位成功的大哥给的网址,我用的这个网址下的)

jetson Xavier nx安装torch和torchvision,并解决解决版本不匹配(报错RuntimeError: Couldn‘t load custom C++ ops)的问题_第3张图片

 

 jetson Xavier nx安装torch和torchvision,并解决解决版本不匹配(报错RuntimeError: Couldn‘t load custom C++ ops)的问题_第4张图片

 

(这两个网址下载下来的version文件,相同版本的大小是一样的,其中GitHub官网下载的版本号没有v,大哥的网址有v,我是没发现有什么不同)

jetson Xavier nx安装torch和torchvision,并解决解决版本不匹配(报错RuntimeError: Couldn‘t load custom C++ ops)的问题_第5张图片

下载下来文件 长这样,挑一个版本下载就行,这6个文件的百度网盘链接在最后

下载完成后,把zip压缩文件转到jetson nx 板子上,和上边torch.whl放同一个文件夹下,

1、进入文件夹,打开终端,先安装依赖项

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

2、用   unzip vision-v0.11.1.zip       解压文件,

3、cd  vision-v0.11.1   进入文件夹,进入你的conda虚拟环境,

4、输入   gedit ~/.bashrc      #修改bashrc文件

      弹出一个TXT,把下边这一行添加到最后,右上角保存,关闭

     export BUILD_VERSION=0.11.1   

     #版本号是0.11.1就写0.11.1,是0.10.0就写0.10.0

      source ~/.bashrc # 刷新bashrc文件   (sudo vi ~/.bashrc不好用,会出现wap已存在)

5、 终端继续输入   python3 setup.py install --user  ,开始编译,

     如果显示找不到torch,是因为那安装torch的环境和安装torchvision的环境不一是一个

     编译的时间很长,耐心等待,会有警告,

          包括但不限于cc1plus: warning: command line option ‘-Wstrict-prototypes’ is

          valid for C/ObjC    but not for C++

      有博客说过解决办法,我试了没啥效果,有兴趣可以试试,解决办法在下边博客的第三步

NVIDIA JETSON XAVIER NX (四)安装Pytorch和torchvision_小可同学呀的博客-CSDN博客_jetson nx安装pytorch

    警告没事,不用管

6、等跑完,会提示 Finished processing dependencies for torchvision==0.11.0a0

编译完成

3、验证是否安装成功

pycharm新建一个py文件,输入如下代码,切换解释器为安装torch和torchvision的虚拟环境,运行

import torch
import torchvision
print('1')
print(torch.__version__)  # 查看torch版本
print('2')
print(torchvision.__version__)  # 查看torchvision版本
print('3')
print(torch.cuda.is_available())  # 查看torch下cuda是否可用
print('4')
print(torch.cuda.device_count())  # 查看#GPU驱动数量
print('5')
print(torch.cuda.get_device_name())  # 查看#GPU驱动动名称

没有报错的话,我的输出是这样,基本上就成功了

1
1.10.0  # torch版本
2
0.11.0a0  # torchvision版本
3
True  # cuda是否可用,若为flase,继续往下看
4
1   # GPU驱动数量
5
Xavier  # # GPU驱动名称

4、 错误记录

1、如果import torch
print(torch.cuda.is_available())

输出是false,那在正确配置了cuda环境变量的情况下,应该就是你下载成了CPU版本的torch,比如这两个,就是CPU版本的

2、 运行yolov5的detect.py,报错

RuntimeError: Couldn't load custom C++ ops

原因torch和torchvision版本不匹配,可能你看输出的版本确实是匹配的,但依然报这个错误,最好的办法是,把torch和torchvision删干净,在确保两者版本匹配的签一下,

重新安装torch,torchvision,就可以了,这个地方我卡了好久,就是装上试一试,报错,删干净,重新装或者换一组重新装

3、运行yolov5的detect.py,报错

cv2.error: OpenCV(4.5.0) ../modules/highgui/src/window.cpp:651: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'

原因:opencv-python需要配套扩展库opencv-contrib-python使用

解决办法

pip install --upgrade pip #升级pip,不升级也行

pip install opencv-contrib-python

5、torch和torchvision网盘链接

链接:https://pan.baidu.com/s/1C5tXlk-RG6akGaCDgbmcVw 
提取码:0gac

jetson Xavier nx安装torch和torchvision,并解决解决版本不匹配(报错RuntimeError: Couldn‘t load custom C++ ops)的问题_第6张图片

 

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