首页 > 其他分享 >2025年了,你还不会配置Jetson Orin NX嘛?

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

时间:2024-12-27 20:19:11浏览次数:3  
标签:install opencv sudo apt NX 2025 dev Orin usr

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

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

标签:install,opencv,sudo,apt,NX,2025,dev,Orin,usr
From: https://www.cnblogs.com/SkyXZ/p/18636647

相关文章

  • Claude订阅使用教程:2025年国内如何充值购买Claude
    ​  Claude是一款功能强大的AI对话模型,其最新版本ClaudeSonnet3.5在处理复杂指令、理解上下文以及生成自然文本方面表现尤为出色。许多人认为ClaudePro是ChatGPTPlus的最佳替代品,甚至在某些场景下表现更优。以下将为你详细介绍如何快速订阅ClaudePro会员,包括准备......
  • 2024-2025-1 20241318 《计算机基础与程序设计》第十四周学习总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP(这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14这个作业的目标<学习《C语言程序设计》第13-14章并完成云班课测试>作业正文https://i.cnblogs.com/posts/......
  • Nginx反向代理、负载均衡
    nginx.conf基本配置server{listen443ssl;server_nameyourdomain.com;ssl_certificate/path/to/cert.pem;ssl_certificate_key/path/to/key.pem;location/{proxy_passhttp://localhost:8080;proxy......
  • 祝大家这周圣诞快乐!!本周进军多模态!From LLMs to MLLMs:Exploring the Landscape of Mu
    从LLMs到MLLMs:探索多模态越狱攻击的前景禁止盗用,侵权必究!!!欢迎大家积极举报......
  • 2025年CXL强势启航:开启内存扩展新时代
    ComputeExpressLink(CXL)是一项旨在提高数据中心和高性能计算环境中CPU、内存及加速器之间通信效率的技术。尽管自2019年以来就已经存在并开始被一些产品使用,但直到2025年,CXL才有望从一个非常小众的技术转变为常规技术,广泛应用于现代服务器中。CXL相关扩展阅读:CXL与近......
  • 『联合省选2025集训』『省选模拟赛1』 Day5 总结
    前言落日沉溺于橘色的海,晚风沦陷于赤诚的爱。省流:省选集训,\(\texttt{BZ13}\)人,\(50+20+0=70\),\(\texttt{rk11}\),因为有两个跟我并列倒一,真的糖丸了,低年级的也考不过。T1不会用\(\text{Bitset}\)查询最低位的\(1\),即便不会,\(\mathcal{O}(\frac{n^3\times\log(n^2)}{\o......
  • 2025年PMP项目管理报名时间线
    据可靠消息称,2025年首次PMP考试暂定于3月15日举行。考生需要在2025年1月前完成英文报名,预计中文报名时间为2025年1月中旬。今天给大家盘一盘项目经理的“本命证书”——PMP需要什么报考条件,以及需要投入多少成本?大家看看到底值不值得学?(1)2025年PMP最新考试时间线(2)PMP考......
  • Nginx日志配置
    Nginx日志Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息,可以帮助我们定位错误的原因。因此,将日志好......
  • Nginx的安装与配置
    一、编译方式安装**源码编译方式:**安装make:yum-yinstallautoconfautomakemake安装g++:yum-yinstallgccgcc-c++一般系统中已经装了了make和g++,无须再装yum-yinstallpcrepcre-develyum-yinstallzlibzlib-develyuminstall-yopensslopenssl-devel安装nginx......
  • Nginx配置之全局配置属性
    nginx全局属性的配置usernobody;#主模块命令,指定Nginx的worker进程运行用户以及用户组,默认由nobody账号运行。worker_processes1;#指定Nginx要开启的进程数。worker_rlimit_nofile100000;#worker进程的最大打开文件数限制error_loglogs/error.log;error_loglogs......