Jetson Xavier NX更新Jetpack【含cuDNN、TensorRT】

本文详述了如何将JetsonNX的Jetpack从4.5.1升级至4.6,以获得TensorRT8.x的性能提升。步骤包括更新CUDA和cuDNN、安装OpenCV、配置PyTorch环境、使用miniforge、更换apt-get源以及解决升级后的系统问题。此外,还介绍了升级过程中TensorRT、CUDA和Python包的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0 前言

手里的Jetson NX的Jetpack版本为4.5.1 [L4T 32.5.2],其中包含深度学习相关版本:

  • cuDNN:8.0.0.180
  • CUDA:10.2.89
  • TensorRT:7.1.3.0

都算是比较旧的了【2023-06-09】,TensorRT 8的加速能力相较于7又是一个大提升,于是决定给它升升级。

TensorRT的技术文档,通过查看TensorRT Support Matrix 缺点8.x版本支持的CUDA和cuDNN版本。

1 PyTorch环境、OpenCV以及jtop

系统烧录装载

  • 下载系统镜像
    这里下载,选择自己需要的Jetpack版本。
  • 烧录系统
    需要准备一个SD卡并且下载一个格式化软件SD Card Formatter
    软件到这里下载 ,用SD Card Formatter格式化SD卡。
    紧接着我们需要下载,安装并启动balenaEtcher,选择刚才下载的镜像文件,选择SD卡,选择Flash。(烧录过程中出现任何窗口都不要点击,烧录完成后直接拔出SD卡,不要点击任何弹出来的窗口)
  • 安装系统
    将带有系统的SD卡插入Jetson模组中,链接显示器,会自动进入装系统的界面。

CUDA Toolkits验证

nvcc -V

没有则配置路径:

sudo gedit ~/.bashrc

# 添加以下内容
export CUDA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:$PATH

# 保存 退出后 激活
source ~/.bashrc

升级OpenCV 4.4
初始的OpenCV版本为3.3.x版本,且未经过CUDA compiled

参考这篇博文升级版本
安装过程遇到的问题看这里
降版本,安装回3.3.1

miniforge安装
Jetson Xavier NX是aarch 64架构,不支持Anaconda,需要用miniforge作替代。

访问minforge repo查看详情

Pytroch安装

关于miniforge的介绍,pytorch和torchvision的whl文件地址和安装步骤看这篇博文

安装jtop工具

sudo -H pip3 install -U jetson-stats

更换apt-get

  1. 备份sources.list文件
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. 编辑sources.list文件
    sudo vim /etc/apt/sources.list
    
  3. 添加镜像源
    #清华源
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
    deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
    
    或者
    # 中科大源
    deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main universe restricted
    deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main universe restricted
    
  4. 保存sources.list文件后需要更新
    sudo apt-get update
    

2 更新Jetpack

需要确保Jetpack版本在4.6及以上,因为更早的Jetpack版本于TensorRT 7.x存在不兼容的情况

  1. 编辑apt源配置文件

    sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
    
  2. 更改存储库名称和下载URL

    # 原始
    deb https://repo.download.nvidia.com/jetson/common <release> main
    deb https://repo.download.nvidia.com/jetson/<platform> <release> main
    
    # 修改为
    deb https://repo.download.nvidia.com/jetson/common r32.6 main
    deb https://repo.download.nvidia.com/jetson/t194 r32.6 main
    

    其中:

    • t186用于Jetson TX2系列
    • t194 for Jetson AGX Xavier系列或者Jetson Xavier NX
    • t210用于Jetson Nano设备或Jetson TX1
      具体的数值对应在官网 JetPack Archive
  3. 保存并退出配置文件

  4. 执行命令

    sudo apt update  # 需要先更换`apt-get`源,否则会失败
    sudo apt dist-upgrade
    
  5. apt提示选择配置文件,回复’Y’(以使用该文件的NVIDIA更新版本)

  6. 升级其他 JetPack 組件

    sudo apt install nvidia-jetpack
    
  7. jtop查看Jepack版本,为4.6则完成。重启Jetson设备

注意:重启后使用jtop可以看到已更新为4.6,但是swp显示为OFF,而且WI-FI无法连接,使用ifconfig也看不到wlan0的信息
解决方案在:Nvidia Jetson Xavier NX Develeoper | Forums 问答① 问答②

配置Python包tensorrt
经过上面步骤安装或升级之后的 Jetpack 已经自带了tensorrt,需要将其自带的包copyminforge的虚拟环境中

cp -r /usr/lib/python3.6/dist-packages/tensorrt* ~/archiconda3/envs/torch_env/lib/python3.6/site-packages/

# 激活虚拟环境
conda activate troch_env
python -c "import tensorrt; print(tensorrt.__version__)" # 将会打印出 TensorRT 版本
 
# 为之后编译 设置环境变量
export TENSORRT_DIR=/usr/include/aarch64-linux-gnu
 
# 将 cuda 路径和 lib 路径写入到环境变量 `$PATH` 和 `$LD_LIBRARY_PATH` 中
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

运行一个引用libgomp库的程序时,出现报错

libgomp.so.1: cannot allocate memory in static TLS block
解决方案:博文libgomp.so.1: cannot allocate memory in static TLS block

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值