2025年了,你还不会配置Jetson Orin NX嘛?

news/2024/12/27 20:18:00/文章来源:https://www.cnblogs.com/SkyXZ/p/18636647

2025年了,你还不会配置Jetson Orin NX嘛?

我的设备为:Jetson Orin NX 16G + JetPack6.1+达妙科技载板

        帅气的Jetson Orin NX拿到手了,都2025年了你还不会配置嘛???让我一篇文章带你不糟蹋这一美丽的艺术品!

bfde984675785deb164ef9e844ccc7e

Cuda、CuDNN、TensorRT配置

        首先我们拿出一块刚刚烧录完的崭新板子,具体烧录的教程可以参考我的这一篇博客:Jetson Orin NX烧录+设备树更改?看这一篇就够了! - SkyXZ - 博客园接着我们输入 nvcc -V会发现终端提示如下:bash: nvcc: command not found,有些教程会跟你说只要在bashrc中输入环境命令就好了,但是其实你就是没有安装任何的cuda,因为接下来你运行以下的命令会发现根本找不到nvcc!

jetson@ubuntu:/usr/local$ ls -l /usr/local/cuda-12.6/bin/nvcc
ls: cannot access '/usr/local/cuda-12.6/bin/nvcc': No such file or directory

        为了进一步探究我们到底缺少了什么我们可以先安装Jetson-stats来查看我们当前设备的状态,我们输入以下命令

sudo apt install python3-pip
sudo -H pip3 install -U jetson-stats
sudo jtop

        等待安装完成之后并输入jtop之后有以下内容即代表安装完成

image-20241227165335611

        接着我们继续输入以下命令便能看到我们当前设备的信息(因为不排除Nvidia的Manager烧录有Bug)

sudo jetson_release   #查看当前的设备的信息

image-20241227161951663

        会发现我们的新烧录好的设备里面没有CUDA和TensorRT,那么这时候我们便需要进一步安装JetPack了,JetPack 是 Nvidia为 Jetson系列开发板开发的一款软件开发包里面包含了常见的所有工具,并且在安装 JetPack的时候,会自动的帮你匹配所需CUDA、cuDNN、TensorRT等,我们在终端中输入以下命令:

sudo apt update
sudo apt install nvidia-jetpack -y

        等个几分钟便能全部安装好,如果下载速度缓慢是网络问题,这个问题自行解决。接着我们继续输入一开始的命令便能发现我们需要的cuda和tensorrt都安装完成了

sudo jetson_release   #查看当前的设备的信息

image-20241227165615428

        然后我们打开bashrc,把以下内容添加进~/.bashrc即可完成cuda的配置

sudo gedit  ~/.bashrc    #进入bashrc并在最后添加即可
export CUBA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$PATH
source ~/.bashrc

        source之后我们再输入nvcc -V会发现CUDA会有输出了

image-20241227165901909

        接着我们需要来处理CuDNN,虽然我们看到我们已经安装了cudNN但是我们还需要将对应的头文件、库文件放到cuda目录,cuDNN的头文件在:/usr/include,库文件位于:/usr/lib/aarch64-linux-gnu,运行以下命令即可:

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*
sudo chmod 777 /usr/local/cuda/lib64/libcudnn*

        然后我们运行以下命令对cuDNN进行验证

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

        如果出现如下内容即代表安装成功,配置没问题

image-20241227171346500

OpenCV with CUDA

        还记得我们上面查看板子信息的时候还有一个红色的No嘛,这个代表着我们板子上的OpenCV目前还不支持CUDA 加速,无法充分利用我们Orin NX强大的GPU,接着让我们开始配置这一项

image-20241227171554888

        首先我们先卸载默认OpenCV

sudo apt purge libopencv* -y
sudo apt autoremove
sudo apt update
sudo apt upgrade

        然后我们安装我们需要的一些依赖

  • Generic tools
sudo apt install build-essential cmake pkg-config unzip yasm git checkinstall 
  • Image I/O libs
sudo apt install libjpeg-dev libpng-dev libtiff-dev 
  • Video/Audio Libs - FFMPEG, GSTREAMER, x264 and so on
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libavresample-dev
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev 
sudo apt install libfaac-dev libmp3lame-dev libvorbis-dev
  • OpenCore - Adaptive Multi Rate Narrow Band(AMRNB) and Wide Band(AMRWB) speech codec
sudo apt install libopencore-amrnb-dev libopencore-amrwb-dev
  • Cameras programming interface libs
sudo apt-get install libdc1394-22 libdc1394-22-dev libxine2-dev libv4l-dev v4l-utils
cd /usr/include/linux
sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~

        如果系统换源之后提示说E: Unable to locate package libdc1394-25-dev>,那么需要执行以下步骤来启用完整的软件源(包括 universemultiverse 仓库),完成以下步骤之后即可进行下载了

sudo nano /etc/apt/sources.list
#将以下内容添加进去之后按 Ctrl + O,然后按 Enter 保存,接着按 Ctrl + X 退出
deb http://ports.ubuntu.com/ubuntu-ports focal main universe multiverse restricted
deb http://ports.ubuntu.com/ubuntu-ports focal-updates main universe multiverse restricted
deb http://ports.ubuntu.com/ubuntu-ports focal-security main universe multiverse restricted
sudo apt-get update
  • GTK lib for the graphical user functionalites coming from OpenCV highghui module
sudo apt-get install libgtk-3-dev
  • Python libraries for python3
sudo apt-get install python3-dev python3-pip
sudo -H pip3 install -U pip numpy
sudo apt install python3-testresources
  • Parallelism library C++ for CPU
sudo apt-get install libtbb-dev
  • Optimization libraries for OpenCV
sudo apt-get install libatlas-base-dev gfortran
  • Optional libraries
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen

        接着我们下载OpenCV并解压

cd ~/Downloads  #Cuda12需要较新版本的OpenCV
wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.10.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.10.0.zip
unzip opencv.zip
unzip opencv_contrib.zip

        接着进行Cmake一下

cd opencv-4.10.0/
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_opencv_python2=1 -D BUILD_opencv_python3=1 -D WITH_FFMPEG=1 \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.6 \  #修改为自己的cuda路径
-D WITH_TBB=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 \
-D WITH_CUDA=ON -D BUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN=8.7 \
-D WITH_V4L=ON -D WITH_QT=OFF -D WITH_OPENGL=ON -D WITH_GSTREAMER=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_PC_FILE_NAME=opencv.pc \
-D OPENCV_ENABLE_NONFREE=ON \#修改为自己的opencv_contrib下载路径
-D OPENCV_EXTRA_MODULES_PATH=/home/jetson/Downloads/opencv_contrib-4.10.0/modules \ 
-D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF ..

        过程中可能会要下载一些文件,我把这些文件最新的仓库附在下面,便于大家直接下载,然后复制到Downloads/opencv-4.6.0/build/downloads/{对应的文件夹}文件夹没有的可以自己创建

https://github.com/WeChatCV/opencv_3rdparty.git #wechat_qrcode

        当Cmake完成之后我们往上翻打印输出的Info有如下输出即代表Cmake成功

image-20241227183942597

        接着我们开始编译

nproc  #查看设备核心数
make -j$(nproc) #-j4编译时间约为 1~3 小时
sudo make install #安装

        编译完成不报错即代表编译完成

image-20241227200839242

        安装过程不报错即为安装完成

image-20241227201103187

        最后我们再次执行以下jtop验证以下是否安装完成,出现如下现象则代表成功

image-20241227201155555

至此我们的安装全部结束啦!!!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uml上机实验 4

一 实验目的  理解顺序图、协作图、活动图、状态机图的概念及其在系统分析设计中的作用;  了解和掌握软件工程中用例逻辑时序的分析方法;  掌握两种交互图(顺序图和协作图)的差别;  掌握描述一个操作执行过程中所完成工作(动作)的方法;  掌握描述对象内部工作…

uml上级实验 5

一 实验目的  了解系统物理体系结构模型和表示方法;  了解部署图的概念及其在系统设计中的作用;  掌握使用Rational Rose绘制部署图的方法; 二 实验环境及实验准备  所需硬件环境为微机;  所需软件环境为Rational Rose、Miscrosoft Word等;  熟悉Rational Ros…

JAVA-Day 03:数据类型

数据类型 Java的数据类型分为两大类,分别是基本类型(primitive type)和引用类型(reference type)。 基本数据类型(Primitive Type)分为数值类型和boolean(布尔)类型 数值类型整数类型byte型占1个字节范围:-128~127 如图所示:short型占2个字节范围:-32768~32767 如图所示:int…

[攻防世界]不确定,再看看

[攻防世界]不确定,再看看[攻防世界]不确定,再看看 题目 做题做累了吧,给你准备了一道钢琴曲,要仔细听哦!我藏得很深。 hint1:信息隐藏一般要求载体需要有一定的冗余度,而base64编码刚好就有这个特点。 解题 下载得到音频文件 放入Audacity,并无收获解锁新工具Deepsound…

2.3结构伪类选择器

2.3结构 伪类选择器

python爱心代码大全

python爱心代码 详细分析这段代码实现了一个用Python的Tkinter库绘制跳动爱心的程序,其中包括了一个弹窗来询问是否做一个人的女朋友,如果同意则会显示跳动的爱心,如果拒绝则会重新询问。(无法解决,只能同意哦~) 下面对代码进行详细分析: 1.导入必要的库首先,导入了一…

C#使用Tesseract C++ API过程记录

Tesseract Tesseract 是一个开源的光学字符识别(OCR)引擎,最初由 Hewlett-Packard(惠普)实验室开发,后来由 Google 收购并继续维护和开源贡献。Tesseract 可以识别多种语言的文字,广泛应用于将图片或扫描文档中的文本内容转换成可编辑的文本格式。随着深度学习技术的发展…

[攻防世界]信号不好先挂了

[攻防世界]信号不好先挂了[攻防世界]信号不好先挂了 分析 又是图片隐写我也先挂了…… 解题save bin 保存后的zip还需要修复一下才能解压缩……怎么里面又是这张图片 Misc隐写术 - Scr1pt? - 博客园两张一样图片还可在stegslove合成图片 用BlindWaterMark这个工具一直报错(麻…

10. 组合框控件

一、组合框控件组合框控件主要以列表形式为用户提供选择的项目,用户可以从中选择项。PySide6 中常用的列表类控件主要有 QComboBox(下拉组合框控件)、QFontComBox(字体组合框控件)。我们可以在终端中使用 pip 安装 pyside6 模块。 pip install pyside6二、下拉组合框控件下…

git review错误: is not registered in your account, and you lack forge committer permission

肉眼看上去,远端的邮箱和自己输入的邮箱是一致的 罪魁祸首是 git commit --amend 里面的邮箱带了中文引号,导致本地和远端邮箱名称不一致 从git review 命令报错email address那一行的奇怪字符可以看出端倪如上图所示,引号不是标准的linux字符

2.1基本选择器

选择器: 作用:选择页面上的某一个或者某一类元素 2.1基本选择器:1.标签选择器:选择一类标签 2.类选择器 class:选中所有class属性一致的标签(可以跨标签) .class名称{} 3.id选择器:id全局唯一 #id名称{} 不遵循就近原则:id>class>标签