尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Jetson AGX Orin刷机重装实录:JetPack 6.2.3+conda+PyTorch+YOLO

发布时间:2026/9/28 1:03:40

资讯中心
01
ARTICLE

Jetson AGX Orin刷机重装实录:JetPack 6.2.3+conda+PyTorch+YOLO

Jetson AGX Orin刷机重装实录:JetPack 6.2.3+conda+PyTorch+YOLO
2026.9.22 最新 Jetson AGX Orin 刷机/重装系统全记录JetPack 6.2.3 conda PyTorch YOLO最近又把我的 Jetson AGX Orin 折腾了一遍从刷机到 JetPack 6.2.3再到 conda 环境、PyTorch 安装和 YOLO 部署整个链路走下来踩了不少坑也攒了不少经验。这篇文章就把完整过程写出来包括刷机的关键步骤、conda 在 ARM 平台上的坑、PyTorch 不能直接用 pip 装的真相以及 YOLO 推理加速的实用做法。无论你是刚拿到 Orin 想重装系统还是刷完之后卡在环境配置这一步这篇都能给你一条走通的路。Jetson AGX Orin 这块板子的定位是边缘侧 AI 计算的主力64GB 统一内存加上 Ampere 架构的 GPU跑目标检测、实例分割、多模态模型都没压力但前提是系统环境和深度学习框架得配好。JetPack 6.2.3 是目前比较新的系统套件内置了 CUDA、cuDNN、TensorRT 等一堆组件很多老教程还停留在 JetPack 5.x跟着抄作业容易翻车。我这篇文章会贴近当前版本的实际表现把刷机、conda、PyTorch、YOLO 这几件事讲清楚适合刚入手 Orin 的开发者、做边缘部署的工程师以及给实验室板子做维护的同学参考。1. 刷机前的思路为什么重装系统、用什么方案最省事1.1 什么情况下需要重刷系统先说结论不是所有问题都要刷机但刷机是很多疑难杂症的终极解药。我这次重刷的原因很简单——之前为了贪方便在某处拷了一个别人打包的镜像结果系统里残留了一堆乱七八糟的依赖nvcc版本和 CUDA runtime 对不上编译 TensorRT engine 的时候各种奇葩报错最后干脆推倒重来。以下情况我建议直接刷机JetPack 版本太旧比如还在 5.x而你想跑的模型或新版 PyTorch 需要 CUDA 12.x。板子上的系统被改坏了比如误删了/usr/lib/aarch64-linux-gnu下面的关键库或者dpkg出现大量损坏包。磁盘空间长期紧张eMMC 上的系统分区快塞满了想重新调整分区布局。你需要切换到不同的启动模式例如把根文件系统放到 NVMe 上而不是 eMMC。反过来如果你的板子只是某个包装坏了比如 pip 的依赖冲突那不是刷机的理由。conda 可以隔离环境apt install --reinstall也能救回来别一上来就刷机——刷机一次至少半小时还得重新配环境。1.2 JetPack 6.2.3 到底给了你什么JetPack 6.2.3 是 NVIDIA 在 6.x 系列里的一个稳定版本宿主系统基于 Ubuntu 22.04aarch64内核版本在 5.15 左右。它包含的组件大致有组件版本说明用途L4T (Linux for Tegra)对应 6.2.3 的驱动包板级支持包包含内核、Bootloader、设备树CUDA12.x 系列GPU 计算核心cuDNN8.9深度学习算子加速TensorRT8.6推理引擎导出加速模型的关键OpenCV4.x图像处理默认带 CUDA 加速DeepStream6.4流媒体/视频分析框架可选NVIDIA Container Runtime最新跑 Docker 容器时用得到这个组件表记住一个重点TensorRT 是独立于 CUDA 的刷完系统之后如果你要自己编译 TensorRT 插件版本一定要和板上的库匹配否则运行时会直接报不安全的版本错误。我后面在 YOLO 部分会再提到。1.3 刷机方案选型SDK Manager vs 命令行烧录Jetson 刷机主流有三种方式我按推荐程度排个序SDK Manager图形化最推荐尤其对新手。主机上装好 SDK Manager通过 USB-C 连接板子它能自动检查板子型号、下载对应 JetPack、刷系统、装组件全程图形界面出错提示也比较友好。命令行烧录sdkmanager CLI 或直接跑 flash.sh适合在无图形界面的服务器上操作或者你脚本化了整个流程。需要自己下载驱动包和样本文件系统然后用./flash.sh或sdkmanager --cli烧录。可控性更强但对操作者的理解要求更高。镜像直刷用 dd 或 Etcher 写 eMMC/NVMe最快但最不灵活通常只用于恢复出厂。如果别人的镜像包含了很多私有配置不建议用。我这次用的是 SDK Manager 命令行结合的方式因为主机是 Ubuntu 22.04 无桌面环境SDK Manager 图形界面开不了我直接用它的 CLI 参数跑。重点讲一下 CLI 的用法这招在很多场景下都比点点点高效# 下载 sdkmanager 后安装然后用如下命令查看可用版本 sdkmanager --list | grep -i version6.2.3 # 直接刷系统并默认不安装组件组件后面用 apt 装 sdkmanager --cli --action install \ --login-type devzone \ --product Jetson \ --version 6.2.3 \ --target-os Linux \ --host \ --target AGX_orin \ --exitonfirstfailure \ --accept-license \ --stay-logged-in这里有个细节--exitonfirstfailure的意思是只要某一步失败就立刻退出避免刷到一半日志刷屏你还没发现。--accept-license是必须的不然连不上授权服务器。2. 刷机实操恢复模式、连接方式和分区布局的坑2.1 进入恢复模式这个细节错了全盘皆输刷机的第一步是把板子弄进 USB 恢复模式USB Recovery Mode。AGX Orin 开发套件上有两个关键硬件Jetson 模块底部的 Recovery 按钮和Micro-B USB 口在开发套件的背板侧面靠近电源口那一侧。具体操作先把主机和板子用 USB-C 线连接好线最好是支持数据通信的有些廉价充电线只能供电不能传数据这坑我踩过。板子电源断开不接电源适配器。按住 Recovery 按钮不松手同时接上电源或者给板子上电保持按住 Recovery 按钮约 2 秒后再松开。在主机上执行lsusb应看到NVIDIA Corp. APX设备识别码类似0955:7023。看到这个就说明恢复模式已经进入成功。如果lsusb里没有出现 APX常见原因是 USB 线问题或者你按住 Recovery 的时间不对。另一个细节是AGX Orin Developer Kit 默认上电后直接启动如果你接的是已经装过系统的 eMMC它不会自动进恢复模式必须按 Recovery 才能让 BootROM 进入 USB 下载状态。2.2 SDK Manager 的安装配置流程主机端先装 SDK Managersudo apt install -y ./sdkmanager_2.x.x.deb sdkmanager --cli --login-type devzone --username 你的账号 --password 你的密码这里我要提醒一句SDK Manager 是 NVIDIA 账号体系需要注册一个 Developer Program 账号。没有账号的可以先去官网注册免费的就是多一步认证。在图形界面里勾选的组件我建议按下面这组来Jetson SDK Components勾全套包括 CUDA、TensorRT、cuDNN 等。Host Machine Components如果你主机本身想装 CUDA可以勾但没必要因为主机只负责刷机跑训练还是在板子上。DeepStream做视频分析再勾如果只是跑 YOLO 验证可以先不装。组件安装路径要注意SDK Manager 默认会把 L4T 驱动包和样本文件系统下载到~/.nvidia-sdk/如果你的主目录在 /home 且空间不够建议在安装前改一下Preferences里的下载目录因为一个 JetPack 6.2.3 的完整包大概有 7GB 到 9GB。2.3 分区布局eMMC vs NVMe这不是选择题AGX Orin Developer Kit 出厂默认是 64GB eMMC 作为系统盘但实际可用空间很有限。JetPack 6.2.3 装完基础组件后/分区经常只剩 20GB 出头你装 conda、PyTorch、ultralytics 权重、数据集很快就捉襟见肘。所以我强烈建议在刷机阶段就做一件事把根目录rootfs直接放到 NVMe SSD 上。SDK Manager 图形界面里有这个选项命令行方式则在烧录前用nvautoinstall.sh脚本去配置# 下载 L4T 驱动包后进入 Linux_for_Tegra 目录 # 先修改分区配置让根文件系统落在 NVMe sudo ./tools/manage_partitions.py --disk nvme0n1 --layout layouts/AGX_orin_nvme.xml flash.xml sudo ./flash.sh p3509-p3767-0000p3767-0001 nvme0n1上面这条命令把系统刷到 NVMeeMMC 就空出来做缓存或者直接不管。这样操作后你的/分区就是 NVMe 的容量了比如 1TB 的盘。注意系统启动的时候BootROM 首先读 eMMC 上的 bootloader然后引导 NVMe 上的根文件系统所以如果你后续把 eMMC 上的系统擦掉或改分区可能影响启动但一般不动它就没问题。2.4 刷机后的初始配置清单刷完系统第一件事并不是急着装包而是先做一轮基础配置# 设置用户密码、时区、网络 sudo passwd 你的用户名 sudo timedatectl set-timezone Asia/Shanghai # 给 root 和普通用户都加个 sudo 免密看你习惯避免后面反复输密码 sudo visudo # 安装基础工具 sudo apt update sudo apt install -y vim htop git curl wget net-tools另外一个关键配置是nvpmodel。Jetson 板子默认以低功耗模式运行如果你要跑模型训练或推理先把模式切到最大性能# 查看可用模式 sudo nvpmodel -q # 切换到 MAXN 模式 sudo nvpmodel -m 0 # 打开所有 CPU/GPU 频率fan 转速交给系统自动管理 sudo jetson_clocksnvpmodel -m 0对应的就是 MAXN 模式这是 AGX Orin 性能最顶的状态。我实测过不切模式跑 YOLO 推理FPS 只有切完模式的三分之一这个差异非常明显。补充一句jetson_clocks每次重启后要重新执行可以写进/etc/rc.local或做成 systemd 服务省得老是忘。3. conda 在 ARM 平台上的安装与配置别让 conda init 卡住你3.1 选哪个发行版Anaconda、Miniconda 还是 Miniforge很多人在 x86 上习惯了conda install一堆包拿到 AGX Orin 之后发现同样一条命令包却装不上或者安装过程慢得像蜗牛原因在于 aarch64 的 conda 生态和 x86_64 不完全一样。先明确Jetson 上能不能用 Anaconda能但也有坑。新版的 Anaconda 官方已经提供 aarch64 的 Linux 安装包可以直接装。但我个人推荐Miniforge原因有三个Miniforge 默认走的是社区维护的 conda-forge 源aarch64 的包覆盖比官方 channels 更全。它默认配置了strictchannel priority避免 pip 和 conda 打架。它足够轻量不往系统里塞一堆你用不到的工具。安装流程# 下载 Miniforge 的 aarch64 安装包 wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh # 执行安装建议加 -b 静默安装然后手动初始化 bash Miniforge3-Linux-aarch64.sh -b -p $HOME/miniforge3 # 初始化 shell $HOME/miniforge3/bin/conda init bash source ~/.bashrc3.2 conda activate 报错CommandNotFoundError 和“conda 不是内部命令”这两个问题是搜索热词里出现频率最高的我详细说。情况 Aconda activate 提示CommandNotFoundError: Your shell has not been properly configured to use conda activate这个是conda init没生效导致的。你执行了conda install之后直接敲conda activate myenv就会这样。解决办法很简单conda init bash source ~/.bashrc但有一种情况是conda init之后.bashrc里的 block 已经写进去了却仍然提示错误。这时候检查一下你的 shell 到底是什么我遇到过有些用户默认 shell 是zsh而你执行的是conda init bash。用echo $SHELL确认然后对相应的 shell 做初始化。情况 Bconda不是内部或外部命令也不是可运行的程序或批处理文件这个报错明确告诉你系统在 PATH 里找不到 conda 命令。如果刚才安装路径没有问题大概率是安装目录加 PATH 的那行没写入.bashrc。手动加一下export PATH$HOME/miniforge3/bin:$PATH source ~/.bashrc你还可以用which conda来定位 conda 的实际位置确认它确实装在了$HOME/miniforge3/bin。3.3 换源加速阿里云、清华源配置实战Jetson 在全球的网络环境中下载 conda 包经常非常慢。实测下来当前对 aarch64 表现最好的国内源是阿里云和清华源。配置方式conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/ conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/ conda config --set show_channel_urls yes清华源配置类似。但这里有个坑必须提醒不要只配一条 pkgs/main 就完事aarch64 有些包只有在 conda-forge 里才有比如pytorch-cpu这类所以我的 channels 结构是这样channels: - conda-forge - https://mirrors.aliyun.com/anaconda/pkgs/main/ - https://mirrors.aliyun.com/anaconda/pkgs/free/ - defaults优先级是 conda-forge 最高——conda 会优先从它找包找不到再去阿里云。加了strictchannel priority 之后可以减少包版本冲突的概率。3.4 创建虚拟环境并处理 pip 源PyTorch 的安装通常是用 pip 而不是 conda 直接装所以我习惯先建一个干净的虚拟环境再在环境内用 pip 装深度学习框架。创建环境的命令conda create -n yolo python3.10 -y conda activate yolo如果你发现conda create非常慢除了换源还可以考虑用mamba替代 conda 来创建环境。Miniforge 默认带 mamba直接用mamba create速度提升非常明显。Jetson 上创建环境的本质是下载大量 aarch64 包之前的网络不好时conda create -n yolo花了十几分钟都很正常改用 mamba 后快很多。激活环境后顺手把 pip 源也换掉pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ pip config set global.extra-index-url https://pypi.org/simple/extra-index-url必须要配因为 PyTorch 的 wheel 有些是挂在官方源下的只配阿里云源会找不到。4. PyTorch 安装Jetson 上为什么不能照搬 x86 的方法4.1 为什么不能直接pip install torch这是每个新人在 Jetson 上都会被卡住的问题。你在 x86 电脑上跑pip install torch会得到一个几个 GB 的 wheel但在 AGX Orin 上直接这样装通常报错是找不到匹配的版本或者干脆装上去了 import 时崩掉。原因在于 Jetson 是aarch64 架构而官方 PyTorch wheel 默认只发布x86_64部分版本也有aarch64的对外支持但不是针对 Jetson 的 CUDA 12.x 定制版。加上 Jetson 用的 GPU 是Ampere 架构GA10B其 CUDA capability 是 8.7和桌面级 Ampere 显卡8.0/8.6不一样所以 NVIDIA 专门为 Jetson 编译了一套 PyTorch 预编译包。官方渠道给的安装方式是从 NVIDIA 的 Jetson 仓库下载对应的 wheel然后用 pip 安装。目前 JetPack 6.2.3 搭配的是 PyTorch 2.x 系列比如 torch 2.3.x/2.4.x对应 Python 3.10。4.2 下载对应 JetPack 版本的 PyTorch wheel一个比较稳的办法是直接到 NVIDIA 官方的 index 页下载# 在 conda 环境中执行 pip3 install torch~2.4.0 --index-url https://download.pytorch.org/whl/test/cu121这里要看清cu121表示 CUDA 12.1 版本。但 Jetson 上的 CUDA 版本是 12.x且不同 JetPack 对应的版本号略有差异。JetPack 6.2.3 默认的 CUDA 版本是 12.6所以你要装 torch 的 wheel 应该和 JetPack 6.2/6.3 的预编译版本匹配。如果你对这个版本敏感更靠谱的是直接去 Jetson 官方的 PyTorch 仓库看有没有对应的.whl文件# NVIDIA Jetson PyTorch for JetPack 6.2 pip3 install torch torchvision --index-url https://developer.download.nvidia.com/compute/redist/jp/v62/pytorch/装的时候注意它需要 libpython 环境对齐最好是先建好 conda 环境并激活然后在里面执行上述命令不要再系统 Python 里乱装。4.3 验证安装和 GPU 识别安装完别急着跑模型先做个最小验证import torch print(torch.__version__) print(torch.cuda.is_available()) print(torch.cuda.get_device_name(0)) print(torch.cuda.get_device_capability(0))如果输出True且设备名是AGX Orin说明 PyTorch 已经成功接上 CUDA。接着跑一个简单的矩阵运算看 GPU 是否真的在工作x torch.rand(1024, 1024, devicecuda) y torch.mm(x, x) print(y.sum().item())这里补充一个关键点PyTorch 的torch.cuda.is_available()只是判断 CUDA 驱动是否存在并不代表算子都能跑通。我遇到过 wheel 版本和 CUDA 不匹配导致torch.mm直接报错的情况所以建议大家装完一定要跑这个矩阵乘法验证。4.4 torchvision 也要配套装如果只装了 torch 不装 torchvision后面跑 YOLO 会报ImportError: torchvision不全的问题。因为 ultralytics 在数据增强和 NMS 里大量用到 torchvision 的算子。torchvision 同样要从 Jetson 仓库装不能直接 pippip3 install torchvision --index-url https://developer.download.nvidia.com/compute/redist/jp/v62/pytorch/安装后验证一下import torchvision print(torchvision.__version__)4.5 踩坑实录numpy 版本冲突和 libstdc 缺失我的经验里Jetson 上 PyTorch 安装后最容易出的问题是numpy 版本不兼容。一些旧 wheel 期望 numpy 1.x而 conda 默认装上的是 2.x导致torch.from_numpy直接崩。解决办法是装完 torch 之后固定 numpypip install numpy2.0 numpy1.26.4另一个坑是libstdc.so.6缺失或版本太旧。如果报这个错说明系统自带的 libstdc 版本跟不上 wheel 带的 GLIBCXX 要求。可以检查strings /usr/lib/aarch64-linux-gnu/libstdc.so.6 | grep GLIBCXX如果缺少高版本 GLIBCXX就需要升级libstdc6包sudo apt update sudo apt install --only-upgrade libstdc6一般来说JetPack 6.2.3 自带的 libstdc 是够新的但如果你的系统是从 5.x 升级上来的就容易出问题。5. YOLO 部署从预训练权重到 TensorRT 加速5.1 ultralytics 环境搭建与预训练模型下载装完 PyTorch 和 torchvision接下来就是 YOLO。现在 YOLO 系列的官方实现基本都统一到ultralytics这个包里支持 YOLOv5/v8/v11 等一大家子。安装很简单pip install ultralytics但要注意ultralytics 的版本迭代很快不同版本之间 API 会有微调。我当前装的是最新稳定版导入后建议验证一下import ultralytics ultralytics.checks()预训练模型下载是另一个容易卡住的地方。ultralytics 默认从 GitHub Release 下载权重国内网络环境经常超时。稳妥的办法是手动下载然后放到指定目录权重文件需要放在项目目录下的weights/文件夹文件名保持原名然后加载时指定绝对路径。mkdir -p weights # 这里把 yolo11n.pt或你选的其他模型下载到 weights/ 目录 python -c from ultralytics import YOLO; model YOLO(weights/yolo11n.pt)如果下载太慢可以用代理点或者从其他有权的镜像站下载后再传上去。权重文件不大最常用的是 yolo11n.pt约 6MB、yolov8s.pt约 22MB这几个。5.2 推理实操图片、视频和摄像头流环境就绪后直接跑推理试试from ultralytics import YOLO model YOLO(weights/yolo11n.pt) # 单张图片 results model(test.jpg, devicecuda) results[0].show() # 视频文件 model.predict(test.mp4, devicecuda, saveTrue) # 摄像头实时检测 cap cv2.VideoCapture(0) while cap.isOpened(): ret, frame cap.read() if not ret: break results model(frame, devicecuda) annotated results[0].plot() cv2.imshow(YOLO, annotated) if cv2.waitKey(1) ord(q): break这里有几个性能调优参数devicecuda强制使用 GPU不传这个默认 CPU在 Orin 上帧率会很难看。imgsz640默认输入尺寸如果你做边缘部署想提速可以降到 416精度会有轻微损失。conf0.25置信度阈值调高可以减少误检。iou0.45NMS 的 IoU 阈值。推理 FPS 实测yolo11n.pt 在 AGX Orin 上MAXN 模式 TensorRT 加速大概能跑 100FPS不转 TensorRT 直接用 PyTorch只有 30FPS 左右。所以为了实战部署TensorRT 转换几乎是必须的。5.3 TensorRT 导出与运行把 PyTorch 模型变成 engineultralytics 提供了简单的导出接口model.export(formatengine, halfTrue, imgsz640, workspace1, devicecuda)导出的yolo11n.engine文件放到和模型权重同一个目录推理时直接指定 enginemodel YOLO(weights/yolo11n.engine) results model(test.jpg, devicecuda)导出 engine 的这个过程实际会做 FP16 量化把模型结构做图优化几项融合。workspace1表示最大可用的显存/内存大小GBOrin 上设成 1 或 2 都行。半精度推理是 Jetson 上的核心提速手段因为 Ampere 架构的 Tensor Core 对 FP16 有专门的加速单元。但这里有一个细节TensorRT engine 和 PyTorch 的torch.cuda.is_available()没有关系它不需要 torch 在运行期参与。所以导出成 engine 之后运行环境其实可以不装 PyTorch这对部署很友好但部署机上 TensorRT 版本必须和导出机的版本一致或更新否则直接报错。把你的板子和部署机都保持在 JetPack 6.2.3 就最省心。5.4 训练相关话题损失函数、BN 崩溃、混淆矩阵搜索词里有很多关于 YOLO 训练的内容我简单说几个在 Orin 上训练会遇到的点。先讲损失函数。YOLOv8/v11 的损失由三部分组成分类损失BCE、边界框回归损失CIoU 或 DFL、以及可选的置信度损失。你在训练日志里会看到cls_loss、box_loss、dfl_loss三项它们按一定权重加起来就是总损失。如果 Loss 下降很慢先看是不是学习率太高或者数据集标签是否有问题。再讲 BN 崩溃Batch Normalization 崩溃。这个词指的是训练中某个 batch 上 BN 的均值和方差突然剧烈波动导致 loss 变成 NaN。在 Jetson 上训练小 batch 时特别容易碰到因为 Orin 显存有限你只能开小 batch。解决办法是扩大 batch size或在单卡上做梯度累积。降低初始学习率。确保没有 NaN 标签或损坏的图片数据。如果用了预训练模型冻结 backbone 前几层减少 BN 统计量剧烈变化。混淆矩阵总合不唯一这个问题通常是多标签或多类别数据集中某些类别没有出现在 GT 或预测中导致矩阵行和列之和看起来不对。用 ultralytics 自带的metrics.confusion_matrix()时注意 un_cls 那一列表示背景/未分类排布方式会和你在论文里看到的不一样别当成 bug。5.5 YOLO 在 Orin 上的最佳实践DLA 与多模型并行除了 TensorRTAGX Orin 还有一个特殊硬件单元DLADeep Learning Accelerator。DLA 是 NVIDIA 的专用深度学习推理加速器算力略低于 GPU但功耗极低适合同时跑多个模型。TensorRT 导出时可以指定 DLAmodel.export(formatengine, imgsz640, devicecuda, dynamicTrue, dla_core0)但注意DLA 对算子支持有限像 YOLO 的很多自定义算子不一定能在 DLA 上跑。如果 DLA 导出失败别纠结老实跑 GPU。实际部署中我倾向于一个方案YOLO 检测跑 GPU其他轻量模型比如分类器放 DLA两者并行吞吐量更高。多模型并行时的显存分配也要注意。Orin 统一内存最多 64GB如果同时跑两个 PyTorch 模型torch.cuda.memory_summary()可以看出显存占用情况。系统不会自动限制每个进程的显存所以多个进程同时占用时可能 OOM。稳妥的做法是给每个进程设置环境变量CUDA_VISIBLE_DEVICES0Orin 只有一块 GPU这个变量主要是因为有些容器场景或者使用 IPC 限制整体显存。6. 常见问题与排查技巧实录刷机到部署全链路速查表最后把这一路踩过的坑整理成一个速查表按流程阶段组织。这些都是在真实的使用环境中遇到过的不是文档里直接抄的大家可以对照排查。场景/阶段现象原因分析解决方案刷机lsusb看不到 APX 设备USB 线只供电不传数据或未正确进恢复模式换线重试重新检查 Recovery 按钮按住的时机刷机SDK Manager 下载很慢官方 CDN 到本地网络不稳定提前下载好压缩包用--offline方式安装刷机刷到一半 “Get Flash Quit”磁盘布局或镜像损坏重新下载驱动包或换直刷模式condaconda不是内部或外部命令PATH 环境变量未配置手动在.bashrc添加export PATH$HOME/miniforge3/bin:$PATHcondaconda activate报 CommandNotFoundError未执行conda init执行conda init bash后重新加载 shellconda创建环境非常慢源网络差或架构包索引太大切换 mamba 加快或配置好国内镜像通道PyTorchpip install torch报找不到版本aarch64 上没有官方 x86 wheel用 NVIDIA Jetson 仓库的 wheel 安装PyTorchtorch.cuda.is_available() 为 FalseCUDA 库路径未找到检查ldconfig -p是否有 cuda 库必要时sudo ldconfigPyTorchnumpy 导致from_numpy报错numpy 2.x 不兼容部分旧 wheel固定numpy1.26.4YOLO推理只有十几帧没转 TensorRT 或没开 MAXN 模式转 engine执行nvpmodel -m 0 jetson_clocksYOLOtrain 时 loss NaN标签损坏 / 梯度爆炸 / 学习率过高检查数据集降低 lr冻结 backbone加梯度裁剪YOLO导出 engine 失败内存不足或算子不支持减小workspace必要时放弃 DLA只用 GPU系统重启后性能恢复低功耗nvpmodel 状态不持久写 systemd 服务自动执行nvpmodel -m 0 jetson_clocks系统磁盘空间告急eMMC 系统盘太小重新刷机到 NVMe或清理 apt/pip 缓存再分享两个独家技巧技巧一把 conda 环境目录复制到另一块板子。配好环境后可以直接conda pack打包整个虚拟环境然后到另一台同型号 Jetson 上解压使用。前提是两台的 JetPack 大版本一致否则 PyTorch 和 TensorRT 版本不同会出问题。这个技巧对实验室批量部署特别有用。技巧二用 Docker 替代 conda。NVIDIA 官方提供了很多 JetPack 容器的预编译镜像里面已经配好了 PyTorch、TensorRT 等。如果你的使用场景可以容器化强烈建议直接用容器省去刷机和环境配置的烦恼。但注意容器还是要基于宿主机的 JetPack 版本宿主系统还是要先刷到对应版本容器的优势在于隔离和复用。在 Jetson 上做深度学习的完整链路说到底就是“刷机-环境-框架-部署”四个环节。刷机这一关过了环境配好了之后就是顺利成章的事情。我自己经过这一轮完整的折腾最大的体会是Jetson 的坑多数不是性能问题而是版本匹配问题。PyTorch 要匹配 CUDACUDA 要匹配 JetPackTensorRT 也要匹配 JetPack每一个环节都是版本对应的关系。所以在你跟着任何教程操作之前先看清楚教程对应的 JetPack 版本不要拿 5.x 的经验硬套 6.x。如果按照本文的顺序操作一遍你的 AGX Orin 应该能直接从裸机变成一个能跑 YOLO 的完整 AI 开发平台。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。