Jetson NX避坑指南:Miniconda+Pytorch1.7环境搭建全流程(附依赖包下载)

Jetson NX 深度学习环境搭建:从零到一的避坑实战指南

如果你刚拿到一块 NVIDIA Jetson NX 开发板,想要在上面跑起 PyTorch 深度学习框架,可能会发现这条路并不像在普通 x86 服务器上那么顺畅。我最近在几个边缘计算项目中都用到了 Jetson NX,从最初的 JetPack 系统烧录到最终的 PyTorch 环境部署,踩过的坑足够写一本小册子。今天我就把这些经验整理出来,希望能帮你少走弯路。

Jetson NX 作为一款嵌入式 AI 计算平台,其 ARM 架构和有限的存储空间让环境配置变得有些特殊。很多开发者习惯的 pip install torch 在这里行不通,官方 PyPI 上的预编译包都是针对 x86_64 架构的。你需要找到专门为 Jetson 平台编译的版本,还要处理各种依赖库的兼容性问题。更麻烦的是,网络环境不稳定时,一个简单的包下载都可能让你卡上半天。

这篇文章面向的是有一定 Linux 和 Python 基础的嵌入式开发者、边缘计算工程师,或者任何需要在 Jetson NX 上部署深度学习模型的研究人员。我会从最基础的 CUDA 环境变量配置讲起,覆盖 Miniconda 安装、PyTorch 1.7 部署、依赖包缺失处理,一直到最后的验证测试。每个步骤都包含了我实际遇到过的错误和解决方案,有些技巧是你在官方文档里找不到的。

1. 基础环境准备与 CUDA 配置

在开始安装任何深度学习框架之前,确保你的 Jetson NX 已经正确安装了 JetPack SDK。JetPack 是 NVIDIA 为 Jetson 系列开发板提供的完整软件栈,包含了 Ubuntu 操作系统、CUDA、cuDNN、TensorRT 等核心组件。你可以通过运行 sudo apt-cache show nvidia-jetpack 来查看当前安装的 JetPack 版本。

注意:PyTorch 版本必须与 JetPack 中的 CUDA 版本匹配。对于 PyTorch 1.7,通常需要 CUDA 10.2,这对应 JetPack 4.6 版本。如果你的 JetPack 版本不同,可能需要调整 PyTorch 版本。

1.1 验证 CUDA 安装状态

虽然 JetPack 已经安装了 CUDA,但系统环境变量可能没有正确配置。首先检查 CUDA 是否可用:

nvcc -V

如果这个命令返回“command not found”,说明 CUDA 的路径没有添加到系统 PATH 中。别担心,这很常见,因为 NVIDIA 的安装脚本有时不会自动配置环境变量。

1.2 配置 CUDA 环境变量

打开你的 ~/.bashrc 文件,这是每次启动终端时都会执行的脚本:

sudo vim ~/.bashrc

或者如果你不熟悉 vim,可以用更简单的 nano:

sudo nano ~/.bashrc

滚动到文件末尾,添加以下几行:

export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-10.2

这里有几个细节需要注意:

  • 路径准确性:首先确认 /usr/local/cuda-10.2 这个路径确实存在。有时版本号可能不同,比如 cuda-10.0。你可以用 ls /usr/local/ 查看。
  • 变量顺序$PATH 放在后面,这样系统会优先使用我们添加的路径。
  • 权限问题:如果你不是用 root 用户编辑的,保存时可能需要输入密码。

保存文件后,让配置立即生效:

source ~/.bashrc

现在再次运行 nvcc -V,你应该能看到类似这样的输出:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_21:14:42_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89

1.3 验证 CUDA 运行时

环境变量配置正确后,还需要验证 CUDA 运行时是否正常工作。创建一个简单的测试程序:

// test_cuda.cu
#include <stdio.h>

int main() {
    int deviceCount;
    cudaGetDeviceCount(&deviceCount);
    printf("Number of CUDA devices: %d\n", deviceCount);
    return 0;
}

编译并运行:

nvcc test_cuda.cu -o test_cuda
./test_cuda

如果输出显示有 1 个 CUDA 设备,说明 CUDA 环境基本正常。这一步很多人会跳过,但它在后续排查 PyTorch CUDA 不可用时非常有用。

2. Miniconda 安装与虚拟环境管理

在 Jetson NX 上,我强烈推荐使用 Miniconda 而不是系统自带的 Python 环境。原因很简单:嵌入式开发经常需要不同的 Python 版本和包组合,虚拟环境可以避免污染系统环境,也便于项目管理。

2.1 选择合适的 Miniconda 版本

由于 Jetson NX 是 ARM64 架构,你不能直接下载官方的 x86_64 版本。访问 Miniconda 官方页面时,要选择 Linux-aarch64 版本。不过这里有个坑:官方源下载速度可能很慢,特别是在国内网络环境下。

我推荐使用清华大学的镜像源。首先确定你的系统架构:

uname -m

如果返回 aarch64,说明是 ARM64 架构。然后下载对应的 Miniconda 安装包:

wget https://mirrors
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值