jjzjj

Jetson AGX Orin安装Anaconda、Cuda、Cudnn、Pytorch、Tensorrt最全教程

江南綿雨 2023-04-21 原文

文章目录

一:Anaconda安装

Jetson系列边缘开发板,其架构都是arm64,而不是传统PC的amd64,深度学习的环境配置方法大不相同。想要看amd64的相关环境安装,可以参考这篇文章。下面步入正题:

对于Anaconda的安装其实和之前差不多,只是寻找aarch64的shell包安装即可,下载地址anaconda清华镜像源,我选择的是Anaconda3-2021.11-Linux-aarch64.sh

进入到下载文件夹,按如下命令依次安装即可:

chmod +x Anaconda3-2021.11-Linux-aarch64.sh 

./Anaconda3-2021.11-Linux-aarch64.sh

后面的安装流程和amd64的一样,不再赘述,可移步这篇文章

二:Cuda、Cudnn安装

坑:千万不要安装cuda官网上最新的cuda-jetson-12.0,装完重启后终端就黑屏了,含泪刷机!

所以我参考了官网上最常用的三种方法SD卡、SDK Manager安装Jetpack、apt安装Jetpack。前两种是针对Orin之前的jetson系列板,第一次它们需要手动刷机,所以是针对无系统的空机。而Orin系列开始,自装好了Ubuntu20.04系统,所以选择第三种apt安装Jetpack

Jetpack这到底是什么呢,明明要安装cuda,为啥却先安装Jetpack呢?

其实原因很简单,Jetpack可以理解为Jetson系列板上的软件开发工具包,所有常用的开发kit里面都有。而apt安装Jetpack时默认直接装上与jetson版本号适配的cuda、cudnn、TensorRT,岂不妙哉!!

这里我参考的Invida官方指南,下面直接上代码:

sudo apt upgrade
sudo apt update
sudo apt dist-upgrade
sudo reboot
sudo apt install nvidia-jetpack

安装完输入sudo jetson_release进行查询 ( :需要装好Jtop才有此命令,安装方式见文尾):

发现安装Jetpack的过程中也安装了和5.0.2版本适配的Cuda_11.4、Cudnn_8.4.1。
,而Cudnn默认安装在了/usr/lib/aarch64-linux-gnu下


下面配置Cuda环境变量:

Cuda已经默认安装在了/usr/local/cuda下,运行如下指令:

#打开~/.bashrc
sudo gedit ~/.bashrc
#在文本末输入如下代码:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
#更新环境变量配置
source ~/.bashrc

运行nvcc -V查看版本号:

#/usr/local/cuda/bin/nvcc -V
nvcc -V

还没有结束,虽然安装了cuDNN,但没有将对应的头文件、库文件放到cuda目录。

cuDNN的头文件在:/usr/include,库文件位于:/usr/lib/aarch64-linux-gnu。将头文件与库文件复制到cuda目录下:

(这里我与amd64上的cudnn头文件进行了对比,发现amd64下的头文件都是源文件,而arm64下的头文件都是软链接,当我将软链接头文件复制到cuda头文件目录下,变为了源文件。。。之所以说这些,就是为了证明这里的操作和amd64的一样,不用担心)

操作如下:

#复制文件到cuda目录下
cd /usr/include && sudo cp cudnn* /usr/local/cuda/include
cd /usr/lib/aarch64-linux-gnu && sudo cp libcudnn* /usr/local/cuda/lib64

#修改文件权限,修改复制完的头文件与库文件的权限,所有用户都可读,可写,可执行:
sudo chmod 777 /usr/local/cuda/include/cudnn.h 
sudo chmod 777 /usr/local/cuda/lib64/libcudnn*

#重新软链接,这里的8.4.1和8对应安装的cudnn版本号和首数字
cd /usr/local/cuda/lib64

sudo ln -sf libcudnn.so.8.4.1 libcudnn.so.8

sudo ln -sf libcudnn_ops_train.so.8.4.1 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_infer.so.8.4.1 libcudnn_ops_infer.so.8

sudo ln -sf libcudnn_adv_train.so.8.4.1 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_adv_infer.so.8.4.1 libcudnn_adv_infer.so.8

sudo ln -sf libcudnn_cnn_train.so.8.4.1 libcudnn_cnn_train.so.8
sudo ln -sf libcudnn_cnn_infer.so.8.4.1 libcudnn_cnn_infer.so.8

sudo ldconfig

测试Cudnn:

sudo cp -r /usr/src/cudnn_samples_v8/ ~/
cd ~/cudnn_samples_v8/mnistCUDNN
sudo chmod 777 ~/cudnn_samples_v8
sudo make clean && sudo make
./mnistCUDNN

可能会报错
test.c:1:10: fatal error: FreeImage.h: 没有那个文件或目录
#include “FreeImage.h”
^~~~~~~~~~~~~
compilation terminated.

输入如下代码:

sudo apt-get install libfreeimage3 libfreeimage-dev

如果配置成功 测试完成后会显示:“Test passed!”。
大功告成!!

三:Pytorch安装

pytorch版本不能随意安装,必须安装英伟达编译的好的库文件,附上官方链接,我是Jetpack5.0.2,选择1.12.0版本的pytorch


点击链接然后下载。完成后执行:

pip install torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl 

(其实在运行它之前,我事先根据官方教程链接运行如下代码,如果前面或后面的代码报错,可以尝试一下)

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

:我们还需安装 torchvision,官方没有whl文件,运行如下代码:

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

git clone --branch <version> https://github.com/pytorch/vision torchvision #<version>看下表选择,我的是v0.13.0
cd torchvision
export BUILD_VERSION=0.x.0  # where 0.x.0 is the torchvision version  
python3 setup.py install --user

由下表可知,version中我应填v0.13.0注意v不要漏了

不出意外的话最后编译时会报错,我当时卡在了numpy安装上,说超时。所以我又先安装了numpy,然后再编译。其他可类推

最后验证Pytorch和torchvision是否安装成功:


这里有人会说import torchvison时有警告,如网址所说,原因就是你在torchvison文件夹中打开了终端,执行import,相当于”体内“调包。。。

所以退出当前编译包位置,到其他任何地方重新打开终端,运行import torchvison,自然都不会报错了。

四:Tensorrt安装

Jetpack已经给我们自动安装好了,但是安装位置在/usr/lib/python3.8/dist-packages/中,不能被虚拟环境中定位使用。因此我们需要软链接一下,运行如下命令:

sudo ln -s /usr/lib/python3.8/dist-packages/tensorrt* /home/nvidia/anaconda3/envs/orin/lib/python3.8/site-packages/

测试一下,运行如下指令:

python -c "import tensorrt;print(tensorrt.__version__)"

若出现版本号,则成功:



我是刚出cv泥潭不久,又入jetson终端部署泥潭的江南咸鱼,希望大家能从一而终,不留遗憾!!!

觉得文章有用的话,各位客官点个赞吧!!

有关Jetson AGX Orin安装Anaconda、Cuda、Cudnn、Pytorch、Tensorrt最全教程的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  6. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  7. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  8. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  9. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  10. ruby - 通过 RVM 安装 Ruby 1.9.2 永远行不通! - 2

    当我执行>rvminstall1.9.2时一切顺利。然后我做>rvmuse1.9.2也很顺利。但是当涉及到ruby​​-v时..sam@sjones:~$rvminstall1.9.2/home/sam/.rvm/rubies/ruby-1.9.2-p136,thismaytakeawhiledependingonyourcpu(s)...ruby-1.9.2-p136-#fetchingruby-1.9.2-p136-#downloadingruby-1.9.2-p136,thismaytakeawhiledependingonyourconnection...%Total%Rece

随机推荐