NVIDIA Jetson AGX Xavier学习笔记3——环境配置(pytorch、torchvision、cv2)

        最近研究中需要使用NVIDIA Jetson AGX Xavier人工智能开发组件。由于也是第一次接触相关硬件设备,遇到了很多困难。在这里记录整个Jetson AGX Xavier组件的学习过程(其中很多内容网上有比较详细的教程,我就直接引用参考的相关资源,感谢这些文章作者的付出),希望能够帮助到有同样需求的人。
        在学习笔记2中我们为NVIDIA Jetson AGX Xavier安装了系统和一些基本组件,本篇继续进行运行代码所需要的环境搭建。

1 miniforge安装及创建虚拟环境

        出于个人习惯决定先安装conda以建立虚拟环境(本步非必须)。由于开发组件系统是ARM架构(aarch64)的,无法使用anaconda。这里参考博主 布衣小张 的文章[1],安装了miniforge并进行换源。miniforge具有和anaconda相似的功能和指令。安装完成后,可以执行以下指令创建虚拟环境,进入及退出虚拟环境。

conda create -n envname python=3.6  //创建虚拟环境,envname为自定义的环境名
conda activate envname  //进入虚拟环境
conda deactivate  //退出虚拟环境

        由于后续NVIDIA官方似乎只提供了pytorch在python3.6下的aarch64编译版本安装文件,所以我在虚拟环境中安装的是python 3.6。如果可以找到对应更高版本的pytorch,安装相应版本python即可。本文后续操作均在虚拟环境中进行。

2 pytorch安装

        官方网站NVIDIA Jetson Zoo提供了pytorch的arrch64编译版本及安装教程。

        首先结合python和JetPack版本从Jetson Zoo下载相应whl文件。我的JetPack是4.5.1,因此下载了pytorch 1.6.0。(从jetson zoo下载似乎需要梯子)

        下载完成后,在whl文件处打开终端,并执行以下指令安装pytorch。安装torch的同时会自动安装numpy和future。

sudo apt-get install libopenblas-base libopenmpi-dev python3-pip
pip3 install Cython
pip3 install numpy torch-1.6.0-cp36-cp36m-linux_aarch64.whl

        安装完成后,在虚拟环境中执行下列指令以确保python能正确调用pytorch。

python               //进入python
import torch
torch.__version__    //若安装成功且能正常调用,此处能输出安装的pytorch版本
quit()               //退出python

        我在初次执行以上代码时报错:Illegal instruction (core dumped)。查阅资料发现若安装的是numpy 1.19.5则会出现以上错误,而安装pytorch时自动安装的numpy即1.19.5。Github上讨论给出了一些不同解决方法,我选择了比较简单的一种:卸载numpy 1.19.5,重新安装numpy1.19.4即可解决。

conda remove numpy
pip install numpy==1.19.4

3 torchvision 安装

        根据torch版本选择相应版本的torchvision下载安装即可。下图给出部分对应关系,详细对应关系见pypi网站

        我的pytorch是1.6.0,因此安装torchvision0.7.0。

git clone -b v0.7.0 https://github.com/pytorch/vision
cd vision
sudo python3 setup.py install

        我在初次执行以上指令时报错:fatal error: libavcodec/avcodec.h: No such file or directory。参考博主 点亮~黑夜 的文章[2],通过修改setup.py文件,注释掉if has ffmpeg 改为if False,从而解决问题。


该图片来自 <https://blog.csdn.net/weixin_41010198/article/details/109862917>

        安装完成后,在虚拟环境中执行下列指令以确保python能正确调用torchvisin。

python               //进入python
import torchvision
torchvision.__version__    //若安装成功且能正常调用,此处能输出安装的torchvision版本
quit()               //退出python

4 cv2安装

        实际上,在按照学习笔记2进行NVIDIA Jetson AGX Xavier开发组件刷机时已经自动安装了OpenCV,只需要将python虚拟环境链接到OpenCV库即可。

        首先在终端执行以下指令查找编译好的cv2库文件的路径。

sudo find / -iname "*cv2*"
// 得到路径 /usr/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cython-36m-aarch64-linux-gnu.so

        之后进入虚拟环境的site-packages文件夹下,并链接到查找到的cv2库文件路径即可。

cd /home/miniforge-pypy3/envs/virtual/lib/python3.6/site-packages  //其中virtual是我建立的虚拟环境名
ln -s /usr/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cython-36m-aarch64-linux-gnu.so cv2.so

                安装完成后,在虚拟环境中执行下列指令以确保python能正确调用cv2。

python               //进入python
import cv2
cv2.__version__    //若安装成功且能正常调用,此处能输出安装的从v版本
quit()               //退出python

  • 3
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值