Jetson Orin安装部署和使用(1)

Jetson Orin使用

一、 安装NVIDIA-jetpack和基础开发环境

1、修改deb source

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'
cat   /etc/apt/sources.list.d/nvidia-l4t-apt-source.list

2、更换镜像源

备份源:

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak 
sudo vim /etc/apt/sources.list  

更换为清华源:

\#加⼊清华源,或者其他的⽐如阿⾥云,中科⼤,⾖瓣等等都可以
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse 

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse 

deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse

3、安装jetpack

sudo apt update
sudo apt dist-upgrade # 20分钟左右 更新319个 新增了5个
sudo reboot

在这⾥必须执⾏⼀次重启的动作,否则会出现⼀些不稳定的现象。重启之后只要执⾏以下指令即可

sudo apt install nvidia-jetpack  

出现问题:the following packages have unmet dependencies nvidia-jetpack-runtime(5.0.1-b118)?

sudo apt-get install nvidia-jetpack-runtime=5.0.1-b118  nvidia-jetpack-dev=5.0.1-b118

4、验证jetpack安装

sudo apt show nvidia-jetpack
# jetpack 中已经安装了docker和nvidia-docker,存在triton / deepStream使用需求时可直接通过docker启动

5、预安装必要的软件

sudo apt-get -y install cmake libopenblas-base libopenmpi-dev 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 pythons-pip libopenblas-dev libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

二、GPU监测工具安装

sudo -H pip install jetson-stats
sudo jtop

jtop窗口查看:jetson-stats 4.2.1(rnext.it)

1、安装jtop系统监控工具

sudo apt install python3-pip
sudo -H pip3 install -U pip
sudo -H pip install jetson-stats==4.0.0rc1

2、启动监控工具

jtop   # 上面操作后需要reboot有效

chu xian wenti

miaoshu:pip3 更新 pip 本身时遇到了网络问题,导致下载超时。这通常表明你的系统无法成功连接到 PyPI(Python 包索引)服务器来下载所需的包。
jiejue:
(1)检查网络连接:
首先,确保您的Ubuntu系统已连接到互联网,并且网络连接是稳定的。您可以尝试访问其他网站或使用ping命令来检查与PyPI服务器的连接。

bash
ping pypi.org

如果ping命令失败,那么您可能需要检查您的网络设置或联系您的网络管理员。

(2)使用其他PyPI镜像:
如果您的网络访问PyPI的速度较慢或者受到限制,您可以尝试使用国内的PyPI镜像来加速下载。您可以在pip命令中指定镜像源,例如使用清华大学的PyPI镜像:

bash
sudo -H pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pip --upgrade

(3)临时禁用防火墙或代理:
如果您使用的是防火墙或代理服务器,请尝试暂时禁用它们,看看是否可以解决问题。

(4)检查pip版本:
虽然您正在尝试更新pip,但请确保您当前安装的pip版本不是完全损坏的。您可以尝试运行pip3 --version来查看当前版本。

(5)使用其他包管理工具:
如果您仍然无法解决问题,您可以考虑使用Ubuntu的包管理工具apt来安装或更新pip。但是,请注意,通过apt安装的pip版本可能不是最新的。

bash

sudo apt update

sudo apt install --reinstall python3-pip

然后,您可以使用pip3命令来安装其他Python包,但可能无法获得pip的最新功能。

(6)检查系统时间:
有时,如果您的系统时间设置不正确,可能会导致SSL证书验证失败。请确保您的系统时间设置正确。

(7)尝试使用虚拟环境:
如果您只是想更新pip来管理某个项目的依赖项,那么考虑使用Python的虚拟环境(如venv或conda)。这样,您可以在不影响系统级pip的情况下更新项目特定的pip版本。

(8)查看pip日志:
如果上述步骤都无法解决问题,您可以尝试查看pip的详细日志,以获取更多关于错误的信息。您可以通过添加-v(或-vv、-vvv)来增加日志的详细程度。

bash

sudo -H pip3 install -v -U pip

或者,如果您正在使用镜像源,则:

bash

sudo -H pip3 install -v -i https://pypi.tuna.tsinghua.edu.cn/simple pip --upgrade

三、整理cudatookit、cudnn、trtexec工具

安装步骤:

Perform the following steps to install CUDA and verify the installation.

  1. Install the repository meta-data, install GPG key, update the apt-get cache, and install CUDA:

    $ sudo dpkg --install cuda-repo-<distro>-<version>.<architecture>.deb
    $ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/<distro>/<architecture>/7fa2af80.pub
    $ sudo apt-get update
    $ sudo apt-get install cuda
    

    cuda-repo-ubuntu2004-11-4.aarch64.deb

  2. Reboot the system to load the NVIDIA drivers.

  3. Set up the development environment by modifying the PATH and LD_LIBRARY_PATH variables:

    $ export PATH=/usr/local/cuda-11.4/bin${PATH:+:${PATH}}
    $ export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64\
                             ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
  4. Install a writable copy of the samples then build and run the nbody sample:

    $ cuda-install-samples-11.4.sh ~
    $ cd ~/NVIDIA_CUDA-11.4_Samples/5_Simulations/nbody
    $ make
    $ ./nbody
    

    Note: Run samples by navigating to the executable’s location, otherwise it will fail to locate dependent resources.

在 Jetson AGX Orin 设备上,你可以通过以下方式来查询 <distro><version><architecture> 这三个参数:

  1. (发行版名称):

    • 打开终端。

    • 运行 lsb_release -a 命令来查看你的 Linux 发行版信息。对于基于 Ubuntu 的系统,输出会包含 “Ubuntu” 以及版本号(例如 “Ubuntu 18.04”)。注意这里的 <distro> 应该是 ubuntu<版本号> 的格式,不包括点号。

      本设备得到:ubuntu2004

  2. (CUDA 版本号):

    • CUDA 的版本号通常是你想要安装的版本,而不是通过查询系统来获得的。但是,如果你已经安装了 CUDA 并且想要查询已安装的版本,可以查看 /usr/local/cuda 目录下的版本号或者通过 nvcc --version 命令来查看。

      本设备准备安装:11-4

  3. (系统架构):

    • Jetson AGX Orin 设备是基于 ARM 架构的,具体来说是 arm64(也被称为 aarch64)。你可以通过 uname -m 命令来确认这一点,该命令会返回你的系统架构。

    本设备得到:aarch64

示例:

  • 查询发行版名称:

    bash
    
    lsb_release -a
    

    输出可能类似于:

    No LSB modules are available.  
    Distributor ID: Ubuntu  
    Description:    Ubuntu 20.04.4 LTS  
    Release:        20.04  
    Codename:       focal
    

    在这种情况下,<distro> 应该是 ubuntu2004(假设你希望与 CUDA 11.x 系列的 .deb 包兼容)。

  • 查询系统架构:

    bash
    
    uname -m
    

    输出应该是 aarch64

  • 假设你已经下载了 CUDA 的 .deb 安装包,并且知道你想要安装的 CUDA 版本号(例如 11.4),那么你就可以使用这些信息来安装 CUDA。例如:

    bash
    
    sudo dpkg --install cuda-repo-ubuntu1804-11-4-local_<具体版本号>_arm64.deb
    

    注意替换 <具体版本号> 为实际的 .deb 文件名中的版本号部分。

最后,不要忘记在安装 CUDA 之后运行 sudo apt updatesudo apt install cuda(或相应的安装命令)来完成 CUDA 的安装。同时,请确保你遵循了 NVIDIA 提供的针对 Jetson 设备的官方安装指南。

1、CUDA

在使用 dpkg 安装 NVIDIA CUDA 的 .deb 安装包时,<distro><version><architecture> 需要根据你的实际系统和包的内容来替换。以下是如何选择这些配置项的指南:


  1. 这通常指的是你的 Linux 发行版的名称。例如,如果你使用的是 Ubuntu 18.04,那么 <distro> 就是 ubuntu1804。对于其他发行版,如 Debian、CentOS 等,你需要找到与你的发行版相对应的字符串。


  2. 这指的是 CUDA 的版本号。例如,如果你正在安装 CUDA 11.4,那么 <version> 就是 11-4。注意这里通常不包括点号(.)。


  3. 这指的是你的系统架构。对于大多数现代的 Jetson 设备,包括 Jetson Orin,这通常是 arm64(也被称为 aarch64)。

  4. 安装步骤
    基于上面的信息,如果你的 CUDA .deb 安装包名为 cuda-repo-ubuntu1804-11-4-local_11.4.0-470.42.01-1_arm64.deb(注意这是一个假设的名字),那么安装命令应该是:

    bash
    
    sudo dpkg --install cuda-repo-ubuntu1804-11-4-local_11.4.0-470.42.01-1_arm64.deb
    

    本设备安装命令:

    bash
    
    sudo dpkg --install cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_arm64.deb
    

    https://developer.nvidia.com/cuda-toolkit-archive

    https://developer.nvidia.com/cuda-11-4-4-download-archive?target_os=Linux&target_arch=arm64-sbsa&Compilation=Native&Distribution=Ubuntu&target_version=20.04&target_type=deb_network

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/cuda-ubuntu2004.pin
    sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/7fa2af80.pub
    sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/ /"
    sudo apt-get update
    sudo apt-get -y install cuda
    

    接下来,你需要添加 NVIDIA 的公钥到你的 APT 密钥环中。但是,请注意,对于 Jetson 设备,你可能不需要直接从 NVIDIA 的网站下载公钥,因为 .deb 安装包可能已经包含了所需的签名。但是,如果确实需要,你可以使用以下命令(注意替换 <distro><architecture>):

    bash
    
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/<distro>/<architecture>/7fa2af80.pub
    

    但是,请再次注意,对于 Jetson 设备,你可能不需要这一步,因为 NVIDIA 可能已经通过其他方式提供了所需的签名。

  5. 更新软件源并安装 CUDA
    在安装了 .deb 文件之后,你可能需要更新你的软件源列表并安装 CUDA。这通常可以通过以下命令完成:

    sudo apt update  
    sudo apt install cuda
    

    但是请注意,具体的安装命令可能会因 CUDA 的版本和你的系统配置而有所不同。

  6. 检查 CUDA 安装
    安装完成后,你可以通过运行 nvcc --version 来检查 CUDA 是否已成功安装。

1.2 安装失败,清理

在Jetson AGX Orin设备的系统中,如果CUDA安装失败,你可以按照以下步骤来清理环境并重新安装:

1. 卸载已安装的CUDA(如果存在)

如果之前已经安装过CUDA,首先需要将其卸载。这通常可以通过系统的包管理工具来完成。在基于Debian的Linux发行版(如Ubuntu)上,你可以使用以下命令来卸载CUDA:

bash

sudo apt-get remove --purge cuda*

这条命令会卸载所有与CUDA相关的软件包。

2. 清理残留的CUDA文件

除了通过包管理工具卸载CUDA软件包之外,还可能需要手动删除一些残留的文件和目录。这些文件和目录可能包括CUDA的安装目录、配置文件、环境变量设置等。在标准的Linux系统中,CUDA通常安装在/usr/local/cuda目录下。你可以使用以下命令来删除这个目录(如果它存在):

bash

sudo rm -rf /usr/local/cuda*

同时,检查并删除任何与CUDA相关的环境变量设置,这些设置可能位于你的shell配置文件(如~/.bashrc~/.bash_profile~/.zshrc等)中。

3. 清理系统缓存和依赖关系

使用包管理工具来清理系统的缓存和依赖关系,以确保没有残留的CUDA文件或配置影响新的安装。在基于Debian的Linux发行版上,可以使用以下命令:

sudo apt-get autoclean  
sudo apt-get autoremove

4. 重新启动系统

在清理完CUDA相关的文件和配置后,建议重新启动系统以确保所有的更改都已生效。

5. 重新安装CUDA

在清理完环境后,你可以按照NVIDIA官方提供的安装指南来重新安装CUDA。确保选择与你的Jetson AGX Orin设备兼容的CUDA版本,并按照指南中的步骤进行操作。在安装过程中,注意选择正确的安装选项和配置,以避免之前遇到的问题。

注意事项

  • 在进行任何系统级的更改之前,建议备份你的重要数据以防止意外丢失。
  • 如果你不确定如何执行某些步骤或担心可能会破坏系统,请寻求专业人士的帮助或参考官方文档。
  • 确保你的系统满足CUDA安装的最低要求,并检查是否有任何已知的硬件或软件兼容性问题。

通过遵循上述步骤,你应该能够成功清理CUDA的安装环境并重新安装它。

1.3 方式

方式一:

vi ~/.bashrc

export PATH=/usr/local/cuda-11/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11/lib64:$LD_LIBRARY_PATH export CUDA_ROOT=/usr/local/cuda-11

#使资源⽣效
source ~/.bashrc
nvcc -V

方式二:软链接

sudo ln -s /usr/local/cuda-11 /usr/local/cuda

sudo vim /etc/profile

# 在文件末尾添加加入
export PATH=/usr/local/cuda-11/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11/lib64:$LD_LIBRARY_PATH 
export CUDA_HOME=/usr/local/cuda-11

# 验证cudatookit
source /etc/profile

nvcc -V

在修改了 /etc/profile 文件后,您通常需要重新加载这个文件(或重新启动终端会话)以使更改生效。您可以使用以上命令来重新加载/etc/profile 文件

2、CUDNN

方式一:

dpkg -l libcudnn8  

方式二:

sudo cp /usr/include/cudnn.h  /usr/local/cuda-11/include
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda-11/lib64/
sudo chmod 777 /usr/local/cuda-11/include/cudnn.h  /usr/local/cuda-11/lib64/libcudnn*

# 验证和更新链接库
cd /usr/local/cuda-11/lib64
ll libcudnn*  #有东西
sudo ldconfig

# 测试cudnn
sudo cp -r /usr/src/cudnn_samples_v8/ /tmp/
cd /tmp/cudnn_samples_v8/conv_sample
sudo make clean
sudo make
./conv_sample

3、trtexec TensorRT

方式1:

dpkg -l tensorrt

方式2:

ln -s /usr/src/tensorrt/bin/trtexec  /usr/bin/trtexec

验证tensorrt安装正确与否

sudo chmod -R 777 /usr/src/tensorrt
cd /usr/src/tensorrt/samples/sampleINT8/
sudo make 
cd ../../bin/
./sampleINT8

4、OpenCV

方式1:

dpkg -l libopencv

四、安装pythorch开发环境

方式1:

  1. 官网下载安装包

  2. 安装java

sudo apt-get install openjdk-11-jdk 
java--version
  1. 配置环境变量
sudo vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64 
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH
source ~/.bashrc
  1. 安装
cd ~/Downloads/pycharm-community-2020.3.2/bin 
chmod +x  ~/Downloads/pycharm-community-2020.3.2/bin/pycharm.sh
sh ./pycharm.sh
### 如何在 Jetson Orin NX 上部署 DeepSeek DeepSeek 的部署涉及多个方面,包括环境配置、模型转换以及优化。为了确保最佳性能,在 Jetson Orin NX 上部署 DeepSeek 需要遵循一系列特定的操作。 #### 环境准备 Jetson Orin NX 提供强大的计算能力,适合运行复杂的神经网络模型。安装必要的软件包依赖项是第一步: - 安装 NVIDIA CUDA cuDNN 库以支持 GPU 加速。 - 设置 Python 虚拟环境并安装所需的 Python 包,如 PyTorch 或 TensorFlow 及其相关工具[^1]。 ```bash sudo apt-get update && sudo apt-get install -y \ python3-pip \ libopencv-dev \ protobuf-compiler \ libprotoc-dev pip3 install --upgrade pip setuptools wheel ``` #### 模型转换与优化 对于 DeepSeek 这样的复杂模型,建议将其转化为 ONNX 格式以便更好地利用 TensorRT 进行推理加速。具体操作如下: - 使用官方提供的脚本或自定义代码将训练好的模型导出为 ONNX 文件。 - 利用 ONNX Runtime 工具链进一步优化该文件,特别是针对 Jetson 平台做了专门适配的工作。 ```python import torch.onnx as onnx from deepseek import DeepSeekModel # 假设这是 DeepSeek 的模型类 model = DeepSeekModel() dummy_input = torch.randn(1, 3, 224, 224) onnx.export(model, dummy_input, "deepseek_model.onnx", opset_version=11) ``` #### TensorRT 推理引擎集成 TensorRT 是 NVIDIA 开发的一个高性能深度学习推理库,特别适用于嵌入式设备上的高效执行。通过 TensorRT 对 ONNX 模型进行量化处理可以显著提升效率,尤其是在资源受限的情况下[^3]。 - 将 ONNX 模型导入到 TensorRT 中,并应用 INT8 或混合精度技术来减少内存占用同时保持较高的准确性。 - 编译后的 TensorRT 引擎可以直接加载用于实时预测任务。 ```cpp #include <NvInfer.h> // ... 初始化 TensorRT ... nvinfer1::IBuilder* builder = nvinfer1::createInferBuilder(logger); builder->setMaxBatchSize(batch_size); auto network = builder->createNetworkV2(0U); // 导入 ONNX 模型... parser->parseFromFile(onnx_file_path.c_str(), static_cast<int>(verbosity)); // 构建 TensorRT 引擎... ICudaEngine* engine = builder->buildCudaEngine(*network); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JasonHuan1123

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值