Jetson AGX Orin安装Anaconda、Cuda、Cudnn

2023-10-14 12:20

本文主要是介绍Jetson AGX Orin安装Anaconda、Cuda、Cudnn,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、安装Anaconda

二、conda换源

三、Cuda、Cudnn安装

四、jtop 安装

五、查看安装情况

六、cuDNN环境配置

七、pytorch安装

八、安装torchvision

九:Tensorrt安装


拿到一台Jetson AGX Orin,准备搭建AI环境,搭建过程中参考不少文章,也踩了不少坑,特此记录一下。

一、安装Anaconda

清华镜像下载Linux版本的anaconda:

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirro

寻找aarch64的shell包,我选择的是Anaconda3-2021.11-Linux-aarch64.sh

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

安装成功后,系统提示conda命令找不到,执行以下命令:

# 将anaconda的bin目录加入PATH
echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc

conda初始化

conda init

二、conda换源

#查看目前已有的镜像
conda config --show channels
#添加清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
建议下面也全部添加,虽然有些可能用不到,但是实际包含比较冷门的包
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
#从channel中安装包时显示channel的url,这样就可以知道包的安装来源
conda config --set show_channel_urls yes
#验证一下配置是否成功
conda config --show channels

三、Cuda、Cudnn安装

安装Jetpack,Jetpack可以理解为Jetson系列板上的软件开发工具包,apt安装Jetpack时默认直接装上与jetson版本号适配的cuda、cudnn、TensorRT!

首先检查 L4T 版本

cat /etc/nv_tegra_release

# R34 (release), REVISION: 1.1, GCID: 30414990, BOARD: t186ref, EABI: aarch64, DATE: Tue May 17 04:20:55 UTC 2022

我的是L4T 34.1.0 的版本,添加源,不加的话安装nvidia-jetpack会出现“Unable to locate package nvidia-jetpack”错误

sudo bash -c 'echo "deb https://repo.download.nvidia.com/jetson/common r34.1 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list'
sudo bash -c 'echo "deb https://repo.download.nvidia.com/jetson/t234 r34.1 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list'

 开始安装

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

四、jtop 安装

 jtop 是一个基于 Python 编写的交互式系统监视器,类似于 Linux 上的 top 命令。它可以实时显示系统资源使用情况、进程信息、网络连接状态等。

# 需要使用 pip3 来安装 jtop,所以先安装 pip3
sudo apt install python3-pip
# 安装jtop
sudo -H pip3 install -U jetson-stats
# 重启系统
sudo reboot

五、查看安装情况

sudo jetson_release

发现CUDA没有安装成功,不应该!

查看/user/local目录发现CUDA 已经安装成功了,出现了cuda、cuda-11、cuda-11.4三个文件夹

 使用ls -ll命令发现cuda文件夹是个软链接,指向了cuda-10.2,修改一下软链接:

ln -s cuda-11.4 cuda

配置Cuda环境变量

#打开~/.bashrc
sudo vim ~/.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

查看cuda版本

nvcc -V

说明CUDA环境可以正常识别了,用 sudo jetson_release再次查看:

一切正常!!!

六、cuDNN环境配置

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

#复制文件到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/lib64sudo ln -sf libcudnn.so.8.4.1 libcudnn.so.8sudo 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.8sudo 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.8sudo 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.8sudo ldconfig

测试Cudnn:

在执行sudo make clean && sudo make命令编译时出现错误:

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

所以先安装库,再编译

sudo apt-get install libfreeimage3 libfreeimage-dev
安装成功后,使用cudnn自带的例子测试一下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 passed!说明cudnn安装成功!

七、pytorch安装

conda创建新环境,python版本最好选择3.8,不要问我为什么🤣

conda create -n torch3.8 python=3.8
conda activate torch3.8

pytorch版本不能随意安装,必须安装英伟达编译的好的库文件,可通过以下命令查看Jetpack版本号:

sudo apt-cache show nvidia-jetpack

我是Jetpack5.0.1,选择1.12.0版本的pytorch,官网地址: 

PyTorch for Jetson - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forums

 

 开始安装:

安装 PyTorch 所需的系统软件包:

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;

接下来,通过以下步骤安装 PyTorch:

使用以下命令导出

export TORCH_INSTALL=https://developer.download.nvidia.com/compute/redist/jp/v50/pytorch/torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl

安装 PyTorch。

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

安装过程中,如果出现异常无法找到nvcc等相关错误,重启一下就可以。

八、安装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 v0.13.0 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.13.0
python3 setup.py install --user

注意:pytorch和torchvision的对应关系如图所示,我安装的pytorch版本为1.12,所以torchvision安装v0.13.0,要根据实际版本号修改上面的命令,共两处!!!

在这里插入图片描述

 安装时出现了No such file or directory: ':/usr/local/cuda/bin/nvcc'错误,但使用nvcc -V却可以正常找到cuda,说明环境变量配置有问题

sudo vim ~/.bashrc

将export CUDA_HOME=$CUDA_HOME:/usr/local/cuda改为:

export CUDA_HOME=/usr/local/cuda
source ~/.bashrc

九、验证pytorch和torchvision

 进入python,执行命令:

import torch
import torchvision

提示缺什么库就安装什么库,直到完全不报错为止!

pip install numpy
pip install urllib3
pip install charset-normalizer
pip install certifi
pip install idna

九:Tensorrt安装

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

sudo ln -s /usr/lib/python3.8/dist-packages/tensorrt* /root/anaconda3/envs/torch3.8/lib/python3.8/site-packages/

 注意:“/root/anaconda3/envs/torch3.8/lib/python3.8/site-packages/”为你的anaconda以及所使用虚拟环境的具体位置,要根据实际情况进行修改!!!

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

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

若出现版本号,则成功:

参考文章:

在米文动力 EVO Orin 设备 Jetson AGX Orin 下配置 YOLOV5 的环境说明​​​​​​Jetson AGX Orin安装Anaconda、Cuda、Cudnn、Pytorch、Tensorrt最全教程在米文动力 EVO Orin 设备 Jetson AGX Orin 下配置 YOLOV5 的环境说明【Jetson Agx Orin】执行sudo apt install nvidia-jetpack命令时报错:E: Unable to locate package nvidia-jetpack
Unable to locate package nvidia-jetpack on Orin devkit - Jetson & Embedded Systems / Jetson AGX Orin - NVIDIA Developer Forums

开始使用 Jetson AGX Orin 开发人员套件 |英伟达开发者 (nvidia.com)

ubuntu21.04安装cuda和cudnn_test.c:1:10: fatal error: freeimage.h: no such file

查看Jetson系列产品JetPack的版本信息_查看jetpack版本_氵文大师的博客-CSDN博客

為 Jetson Platform 安裝 PyTorch - NVIDIA Docs

PyTorch for Jetson - Jetson Nano - NVIDIA Developer Forums

这篇关于Jetson AGX Orin安装Anaconda、Cuda、Cudnn的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/210459

相关文章

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式