Jeston Orin Nnao 安装pytorch与torchvision环境

        大家好,我是虎哥,Jeston Orin nano 8G模块,提供高达 40 TOPS 的 AI 算力,安装好了Jetpack5.1之后,我们需要配置一些支持环境,来为我们后续的深度学习开发提供支持。本章内容,我将主要围绕安装对应版本pytorch跟torchvision展开。

Jeston Orin Nnao 安装pytorch与torchvision环境_第1张图片

         安装好了Jetpack5.1之后,我才发现英伟达官方还没有正式发布适配的pytorch版本跟torchvision版本,但是我在官方的论坛里面发现了这个:Installing PyTorch for Jetson Platform - NVIDIA Docs

Jeston Orin Nnao 安装pytorch与torchvision环境_第2张图片

通过:PyTorch for Jetson - Jetson Nano - NVIDIA Developer Forums介绍,我们找到了对应的版本。

0、针对自己的系统选择对应版本

参考入口:PyTorch for Jetson - Jetson Nano - NVIDIA Developer Forums

Jeston Orin Nnao 安装pytorch与torchvision环境_第3张图片

Jeston Orin Nnao 安装pytorch与torchvision环境_第4张图片 所以我们选择

Python 3.8 - torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl 296
PyTorch v2.0.0 - torchvision v0.15.1

1、JetPack 5.1.1

JetPack 5.1.1是一个生产质量版本,支持Jetson Orin Nano开发套件、Jetson AGX Orin 64GB、Jetson OrinNX 8GB、Jetson Orin Nano 8GB和Jetson Orin-Nano 4GB模块。它包括带有Linux内核5.10的Jetson Linux 35.3.1 BSP、基于Ubuntu 20.04的根文件系统、基于UEFI的引导加载程序和作为可信执行环境的OP-TEE。JetPack 5.1.1包CUDA 11.4、TensorRT 8.5.2、cuDNN 8.6.0和VPI 2.2,以及其他更新。

  • VPI (Vision Programing Interface) 是一个软件库,提供在Jetson上的多个硬件加速器上实现的计算机视觉/图像处理算法,如PVA(可编程视觉加速器)、GPU、NVDEC(NVIDIA解码器)、NVENC(NVID IA编码器)、VIC(视频图像合成器)等。

  • NVIDIA Isaac™ ROS 是一组硬件加速包,使ROS开发人员更容易在NVIDIA硬件(包括NVIDIA Jetson)上构建高性能解决方案。

    Isaac ROS DP3版本支持JetPack 5.1.1

如何在Jeston Orin Nnao 刷对应JetPack 5.1.1的系统,请参考我之前的文章。【Jeston Orin】Orin nano 8G模块使用官方系统包生成标准烧写系统测试_机器人虎哥的博客-CSDN博客

2、PyTorch on Jetson Platform

PyTorch(用于JetPack)是一个用于深度学习的优化张量库,用于自然语言处理等应用程序。它主要由Facebookd的人工智能小组开发,不仅能够 实现强大的GPU加速,同时还支持动态神经网络,这一点是现在很多主流框架如TensorFlow都不支持的。 PyTorch提供了两个高级功能:

  • 具有强大的GPU加速的张量计算(如Numpy)

  • 包含自动求导系统的深度神经网络

3、安装环境确认说明

Jetpack默认已安装opencv、cuda、cudnn,故只需再安装pytorch即可,留意jetson是arm架构,需要下载对应的安装文件加以安装

1、确认系统版本

nvidia@nvidia-desktop:~$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.5 LTS
Release:    20.04
Codename:   focal

2、确认L4T版本版本

nvidia@nvidia-desktop:~$ head -n 1 /etc/nv_tegra_release
# R35 (release), REVISION: 3.1, GCID: 32827747, BOARD: t186ref, EABI: aarch64, DATE: Sun Mar 19 15:19:21 UTC 2023

说明使用的是R35.3.1系统。

3、确认Jetson版本

jetson_release -v

nvidia@nvidia-desktop:~$ jetson_release -v
Software part of jetson-stats 4.2.1 - (c) 2023, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.1 [L4T 35.3.1]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:
 - 699-level Part Number: 699-13767-0003-300 L.3
 - P-Number: p3767-0003
 - Module: NVIDIA Jetson Orin Nano (8GB ram)
 - SoC: tegra23x
 - CUDA Arch BIN: 8.7
 - Codename: P3768
Platform:
 - Machine: aarch64
 - System: Linux
 - Distribution: Ubuntu 20.04 focal
 - Release: 5.10.104-tegra
 - Python: 3.8.10
jtop:
 - Version: 4.2.1
 - Service: Active
Libraries:
 - CUDA: 11.4.315
 - cuDNN: 8.6.0.166
 - TensorRT: 8.5.2.2
 - VPI: 2.2.7
 - Vulkan: 1.3.204
 - OpenCV: 4.5.4 - with CUDA: NO

4、PYthon 版本:

nvidia@nvidia-desktop:~$ python --version
Python 2.7.18
nvidia@nvidia-desktop:~$ python3 --version
Python 3.8.10

4、PyTorch安装步骤

4.1 安装系统支持包

sudo apt-get -y update; 
sudo apt-get -y install autoconf bc build-essential g++-8 gcc-8 clang-8 lld-8 gettext-base gfortran-8 iputils-ping libbz2-dev libc++-dev libcgal-dev libffi-dev libfreetype6-dev libhdf5-dev libjpeg-dev liblzma-dev libncurses5-dev libncursesw5-dev libpng-dev libreadline-dev libssl-dev libsqlite3-dev libxml2-dev libxslt-dev locales moreutils openssl python-openssl rsync scons python3-pip libopenblas-dev;

国内安装经常会有网络无法连接发生各种错误,没事多执行几次命令行肯定可以安装成功的(我的个人经验)。

4.2 配置环境变量

#注意,我们安装的JetPack 5.1.1,所以找对版本对应
export TORCH_INSTALL=https://developer.download.nvidia.cn/compute/redist/jp/v511/pytorch/torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl
​
#`JP_VERSION`
#The major and minor version of JetPack you are using, such as `461` for JetPack 4.6.1 or `50` for JetPack 5.0.

4.3 在线安装

python3 -m pip install --upgrade pip; python3 -m pip install aiohttp numpy=='1.19.4' scipy=='1.5.3' export "LD_LIBRARY_PATH=/usr/lib/llvm-8/lib:$LD_LIBRARY_PATH"; python3 -m pip install --upgrade protobuf; python3 -m pip install --no-cache $TORCH_INSTALL

Jeston Orin Nnao 安装pytorch与torchvision环境_第5张图片 类似的报错可以不用理会

Jeston Orin Nnao 安装pytorch与torchvision环境_第6张图片

4.4 验证安装是否成功

要验证PyTorch是否已成功安装在Jetson平台上,您需要启动Python提示并导入PyTorch。

$ export LD_LIBRARY_PATH=/usr/lib/llvm-8/lib:$LD_LIBRARY_PATH
$ python3

之后在python3的环境输入

>>> import torch
>>> print(torch.__version__)
>>> print('CUDA available: ' + str(torch.cuda.is_available()))
>>> print('cuDNN version: ' + str(torch.backends.cudnn.version()))
>>> a = torch.cuda.FloatTensor(2).zero_()
>>> print('Tensor a = ' + str(a))
>>> b = torch.randn(2).cuda()
>>> print('Tensor b = ' + str(b))
>>> c = a + b
>>> print('Tensor c = ' + str(c))

如果PyTorch安装正确,则执行此命令时应不会出现错误。

Jeston Orin Nnao 安装pytorch与torchvision环境_第7张图片

4.5 卸载(如果有需要)

PyTorch可以使用pip3卸载命令轻松卸载,如下所示:

$ sudo pip3 uninstall -y torch

5、torchvision 0.15.1安装

5.1 安装

安装好pytorch之后,使用下面的命令行从源码安装torchvision 0.15.1版本,先安装依赖,然后下载安装包,最后从源码编译安装,大概十分钟左右就好,相关命令行如下:

sudo apt install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-devpip3 install --upgrade pillowwget https://github.com/pytorch/vision/archive/refs/tags/v0.15.1.zipcd vision-0.15.1export BUILD_VERSION=0.15.1python3 setup.py install --user

官方指导步骤

$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev
$ git clone --branch  https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
$ cd torchvision
$ export BUILD_VERSION=0.x.0  # where 0.x.0 is the torchvision version  
$ python3 setup.py install --user
$ cd ../  # attempting to load torchvision from build dir will result in import error
$ pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6

Jeston Orin Nnao 安装pytorch与torchvision环境_第8张图片

 我自己操作的步骤

$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev
#这个官方教程没写
$ pip3 install setuptools
#$ sudo pip3 install --upgrade pillowwget https://github.com/pytorch/vision/archive/refs/tags/v0.15.1.zip
#$ git clone --branch v0.15.1 https://github.com/pytorch/vision torchvision
#克隆源代码
git clone --branch v0.15.1 https://github.com/pytorch/vision torchvision 
cd torchvision/
git checkout -b v0.15.1
#查看当前分支
git branch -a
#如果一直无法拉过来,可以选择使用迅雷下载包后拷贝到开发套件中
$ unzip v0.15.1.zip
$ cd vision-0.15.1
$ export BUILD_VERSION=0.15.1
$ python3 setup.py install --user

同样不行就执行几次,肯定会成功安装的,我安装与运行的截图如下:

 开始编译

Jeston Orin Nnao 安装pytorch与torchvision环境_第9张图片 编译安装完毕。

Jeston Orin Nnao 安装pytorch与torchvision环境_第10张图片

5.2 验证安装

如果torchvision安装正确,则执行此命令时应不会出现错误。

>>> import torchvision
>>> print(torchvision.__version__)

6、python TensorRT支持

都安装好了用pip3 list查一下

pip3 list

Jeston Orin Nnao 安装pytorch与torchvision环境_第11张图片

发现如下信息,说明全部环境配置完毕

tensorrt                             8.5.2.2        
torch                                2.0.0+nv23.5 
torchvision                          0.15.1   
tensorrt 如果没有,记得用SDK manager 刷一下官方的cuda等支持库就有了

7、总结:

Jeston Orin Nnao -JetPack5.1.1环境下安装很还算顺利,按照以上步骤,中间可能会有几次反复,但是最终都可以完整的配置好环境。

以上就是我今天要分享的内容。纠错,疑问,交流: [email protected]

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