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

news2024/11/26 0:45:10

文章目录

  • 一:Anaconda安装
  • 二:Cuda、Cudnn安装
  • 三:Pytorch安装
  • 四:Tensorrt安装

一: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__)"

若出现版本号,则成功:

在这里插入图片描述
或用如下方式查看版本号:

find / -name NvInferVersion.h


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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/621653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python对接技术在SEO中的应用

Python对接技术在SEO中的应用 Python作为一种高性能的编程语言&#xff0c;被广泛应用于各种领域&#xff0c;其中也包括了搜索引擎优化&#xff08;SEO&#xff09;领域。Python对接技术&#xff0c;也称为API对接技术&#xff0c;是指通过调用API接口来获取数据、信息或实现…

AI数字人打造之sadtalker让照片开口说话

1 sadtalker介绍 西安交通大学也开源了人工智能SadTalker模型&#xff0c;通过从音频中学习生成3D运动系数&#xff0c;使用全新的3D面部渲染器来生成头部运动&#xff0c;可以实现图片音频就能生成高质量的视频。 论文地址&#xff1a;Learning Realistic 3D Motion Coefficie…

chatgpt赋能python:Python屏蔽语句的重要性

Python屏蔽语句的重要性 Python是一种高级程序设计语言&#xff0c;被认为是开发Web应用程序、数据科学和人工智能的最佳语言之一。在编写Python程序时&#xff0c;每个人都会遇到需要屏蔽语句的情况。在本文中&#xff0c;我们将详细介绍Python屏蔽语句的重要性和用法。 什么…

chatgpt赋能python:Python建模仿真:优秀的工具与技巧

Python建模仿真&#xff1a;优秀的工具与技巧 在现代科技时代&#xff0c;建模仿真是许多不同行业的核心部分&#xff0c;帮助工程师和科学家研究解决许多问题。Python作为一种简单易学且强大的语言&#xff0c;已经被广泛应用于建模仿真领域。 Python的优点 Python在建模仿…

用Python进行数学建模(一)

一、导入数据 1.直接赋值 2.读取 Excel 文件 3.代码示例 import pandas as pd# 读取数据文件 def readDataFile(readPath): # readPath: 数据文件的地址和文件名try:if (readPath[-4:] ".csv"):dfFile pd.read_csv(readPath, header0, sep",") # 间隔…

chatgpt赋能python:Python嵌入C:一个高效的编程技巧

Python嵌入C&#xff1a;一个高效的编程技巧 作为一名有10年Python编程经验的工程师&#xff0c;我发现在某些情况下&#xff0c;Python嵌入C是一种高效的编程技巧。这种技巧可以使您利用Python的简洁性和高级功能&#xff0c;同时仍然保持程序的执行速度。在本文中&#xff0…

chatgpt赋能python:Python对接硬件:从入门到精通

Python对接硬件&#xff1a;从入门到精通 Python是一门极为强大的编程语言&#xff0c;它不只是用来进行数据分析和Web开发的&#xff0c;也可以用来对接各种硬件设备。这是因为Python具有简单易学&#xff0c;语法简洁&#xff0c;库众多的优点。 什么是Python对接硬件 Pyt…

通过AI工具(ChatGPT接口)生成一字未改的论文,查重率4.2%,可以直接当作论文使用

论文题目&#xff1a;基于AIOT技术的能源控制器的设计以及应用 查重结果&#xff1a;4.2% AI工具国内体验&#xff0c;关注&#xff1a;码视野&#xff0c;回复关键字&#xff1a;1002 一、引言 随着全球经济的快速发展和人口的增长&#xff0c;对能源的需求日益增加。然而&…

nodejs环境变量配置问题记录

问题一&#xff1a;Error: EPERM: operation not permitted, open ‘D:\Program Files\nodejs\node_cache\_cacache\tmp\bccd20 这个问题主要是没有权限导致的。 问题二&#xff1a;使用node命令提示 ‘node‘ 不是内部或外部命令&#xff0c;也不是可运行的程序 这个错误是环…

chatgpt赋能python:Python如何将文件另存为:让您的文件管理更便捷

Python如何将文件另存为&#xff1a;让您的文件管理更便捷 随着数字化时代的来临&#xff0c;文件管理已经成为我们日常工作不可缺少的一部分。当涉及到大量的文件管理时&#xff0c;手动操作可能会浪费大量的时间和精力。 在这种情况下&#xff0c;自动化的解决方案将会是很有…

【玩转Linux操作】用户管理(命令讲解配上样例解释)

&#x1f38a;专栏【玩转Linux操作】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题&#x1f970; 文章目录 &#x1f354;添加用户⭐命令&#x1f388;useradd 用户名 ⭐演示…

【日志解析】【启发式】Drain:一种用于日志解析的深度解析树

Drain&#xff1a;An Online Log Parsing Approach with Fixed Depth Tree 文章目录 Drain&#xff1a;An Online Log Parsing Approach with Fixed Depth Tree1 论文出处2 背景2.1 背景介绍2.2 针对问题2.3 创新点 3 主要设计思路3.1 Drain整体结构3.2 具体步骤 4 实验设计5 个…

pycharm利用快捷键,快速注释多行代码的方法分享

最近在pycharm的新手学习群里&#xff0c;发现有些小伙伴依然在“手工”进行代码的注释&#xff0c;效率较低。 下面分享pycharm利用快捷键&#xff0c;快速注释多行代码的方法。可以帮助pycharm初学者加倍提升代码的注释效率。 代码注释快捷键 pycharm代码注释的快捷键为 c…

Anaconda 下载安装

文章目录 Anaconda下载Anaconda安装 Anaconda下载 进入官网 https://www.anaconda.com/ &#xff0c;往下滑动&#xff0c;找到下载地址 2. 根据自己的系统&#xff0c;选择相应的安装包 直接从官网下载的话&#xff0c;下载速度较慢&#xff0c;可以使用国内镜像快速下载 百…

chatgpt赋能python:Python-基础知识:如何在Python中建立一个文件

Python-基础知识&#xff1a;如何在Python中建立一个文件 在Python中&#xff0c;创建文件是一个非常常见和重要的基础操作。Python提供了多种方法来创建文件&#xff0c;包括使用内置函数和第三方库。在本文中&#xff0c;我们将探讨如何使用Python建立一个文件。 使用内置函…

Linux启动nginx

Linux启动nginx 一、下载并解压安装包 1.首先我们需要安装nginx所需要的依赖 yum install pcre pcre-devel gcc openssl openssl-devel zlib zlib-devel2.在/usr/local/下创建文件nginx文件 mkdir /usr/local/nginx/3.进入/usr/local/nginx/ cd /usr/local/nginx/4.在网上…

TensorBoard快速入门(Pytorch使用TensorBoard)

文章目录 TensorBoard 简介TensorBoard 界面介绍TensorBoard 安装TensorBoard 运行Pytorch 使用 TensorBoardGoogle Colab中使用 TensorboardTensor折线图&#xff08;Scalars&#xff09; TensorBoard 简介 TensorBoard 是Google开发的一个机器学习可视化工具。其主要用于记录…

【1】如何安装和卸载tensorflow-CPU和GPU各版本-简单清晰版

文章目录 前言一、tensorflow-cpu指定版本的卸载二、tensorflow-gpu指定版本的卸载三、tensorflow-cpu指定版本的安装1、创建虚拟环境2、激活虚拟环境3、安装指定版本的tensorflow 四、tensorflow-gpu指定版本的安装安装CUDA安装cuDNN安装tensorflow_gpu-2.1.0测试tensorflow安…

SparkSQL优化

执行计划 查看执行计划 explain()&#xff1a;只展示物理执行计划。&#xff08;使用较多&#xff09;explain(mode"simple")&#xff1a;只展示物理执行计划。explain(mode“extended”)&#xff1a;展示物理执行计划和逻辑执行计划。explain(mode"codegen&q…

【数据结构与算法】线性表 01 链表

一、线性表1.1 概念与特点1.2 线性表的存储结构1.3 常见操作1.4 应用场景 二、链表2.1 链表简介2.2 单向链表&#xff08;单链表&#xff09;2.21 基本概念2.22 单链表基本操作2.23 C语言实现 2.3 双向链表2.4 循环链表 一、线性表 线性表是一种最基本、最简单的数据结构&…