Jetson Nano到手后别急着写代码!先搞定这3个开发环境配置(Python/OpenCV/常用库)
2026/6/5 8:12:44 网站建设 项目流程

Jetson Nano开发环境配置实战:从开箱到高效AI开发

刚拿到Jetson Nano的开发板,很多开发者会迫不及待地想要开始编写和运行AI模型代码。然而,一个稳定、高效的开发环境是后续所有工作的基础。本文将带你系统性地配置Jetson Nano的开发环境,确保你的AI项目能够顺利开展。

1. 系统基础配置优化

在开始安装各种开发库之前,我们需要确保系统本身处于最佳状态。Jetson Nano默认的系统配置可能并不完全适合开发需求,特别是对于国内用户而言。

1.1 更换软件源提升安装速度

Jetson Nano基于Ubuntu 18.04 LTS(Bionic Beaver),默认的软件源服务器在国外,更新和安装软件时速度较慢。我们可以将其替换为国内镜像源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo nano /etc/apt/sources.list

将文件内容替换为清华大学的镜像源:

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

更新软件包列表并升级现有软件:

sudo apt update sudo apt full-upgrade -y

注意:执行完整升级可能需要较长时间,建议在稳定的网络环境下进行

1.2 系统性能调优

Jetson Nano的默认电源模式是5W,这会限制CPU和GPU的性能。我们可以切换到10W模式以获得更好的性能:

sudo nvpmodel -m 0 sudo jetson_clocks

验证当前模式:

sudo nvpmodel -q

此外,建议禁用不必要的服务和启动项来释放系统资源:

sudo systemctl disable bluetooth.service sudo systemctl disable apt-daily-upgrade.timer

2. Python开发环境配置

Python是AI开发的主要语言,Jetson Nano默认安装了Python 3.6,我们需要为其配置完整的科学计算环境。

2.1 管理Python环境

虽然可以直接使用系统Python,但为了项目隔离和版本管理,建议使用虚拟环境:

sudo apt install python3-pip python3-venv python3 -m venv ~/venv/nano source ~/venv/nano/bin/activate

2.2 科学计算基础库安装

Jetson Nano的ARM架构意味着我们不能直接使用pip安装所有Python包,有些需要通过apt-get安装系统版本:

sudo apt install -y \ python3-numpy \ python3-scipy \ python3-pandas \ python3-matplotlib \ python3-sklearn

对于其他可以通过pip安装的包,我们需要使用专门为ARM架构编译的版本:

pip install --upgrade pip pip install cython wheel

提示:在Jetson Nano上编译安装Python包可能非常耗时,建议优先寻找预编译的ARM版本

2.3 Jupyter Notebook配置

对于交互式开发和演示,Jupyter Notebook是非常有用的工具:

pip install notebook

配置Jupyter以允许远程访问:

jupyter notebook --generate-config echo "c.NotebookApp.ip = '0.0.0.0'" >> ~/.jupyter/jupyter_notebook_config.py echo "c.NotebookApp.open_browser = False" >> ~/.jupyter/jupyter_notebook_config.py

启动Jupyter Notebook:

jupyter notebook --port=8888 --no-browser &

3. OpenCV深度配置与验证

Jetson Nano系统镜像已经预装了OpenCV,但我们需要验证其功能并确保它能够充分利用硬件加速。

3.1 验证OpenCV安装

检查已安装的OpenCV版本:

opencv_version

测试OpenCV是否能够正常使用CUDA加速:

import cv2 print(cv2.cuda.getCudaEnabledDeviceCount())

3.2 构建自定义OpenCV

如果需要特定版本的OpenCV或者想要启用更多功能模块,可以从源码构建:

sudo apt install -y \ build-essential \ cmake \ git \ libgtk2.0-dev \ pkg-config \ libavcodec-dev \ libavformat-dev \ libswscale-dev

下载OpenCV源码并配置构建:

mkdir -p ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN=5.3 \ -D CUDA_ARCH_PTX="" \ -D WITH_CUBLAS=ON \ -D ENABLE_FAST_MATH=ON \ -D CUDA_FAST_MATH=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D WITH_GSTREAMER=ON \ -D WITH_LIBV4L=ON \ -D BUILD_opencv_python3=ON \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D BUILD_EXAMPLES=OFF \ ../opencv make -j$(nproc) sudo make install

3.3 OpenCV性能测试

使用Python脚本测试OpenCV的性能:

import cv2 import time img = cv2.imread('test.jpg', cv2.IMREAD_COLOR) start = time.time() gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) blur = cv2.GaussianBlur(gray, (7, 7), 1.5) edges = cv2.Canny(blur, 0, 30) print(f"Processing time: {time.time()-start:.3f} seconds")

4. 深度学习框架安装与配置

Jetson Nano的强大之处在于能够运行复杂的深度学习模型,我们需要安装主流深度学习框架。

4.1 TensorFlow安装

NVIDIA为Jetson系列提供了优化版的TensorFlow:

sudo apt install -y libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev pip install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v46 tensorflow

验证TensorFlow是否能够使用GPU:

import tensorflow as tf print(tf.config.list_physical_devices('GPU'))

4.2 PyTorch安装

PyTorch是另一个广泛使用的深度学习框架:

wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.10.0-cp36-cp36m-linux_aarch64.whl pip install torch-1.10.0-cp36-cp36m-linux_aarch64.whl

安装TorchVision:

sudo apt install -y libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev pip install --no-deps torchvision

4.3 ONNX Runtime安装

ONNX Runtime用于高效运行跨框架的模型:

pip install onnxruntime-gpu

验证ONNX Runtime是否使用GPU:

import onnxruntime as ort print(ort.get_device())

5. 实用工具与性能监控

完善的开发环境还需要各种辅助工具来提升效率。

5.1 系统监控工具

安装并配置实用的系统监控工具:

sudo apt install -y htop tmux pip install gpustat

创建系统监控面板:

tmux new-session -d -s monitor tmux send-keys -t monitor "watch -n 1 'echo -e \"CPU:\"; cat /proc/cpuinfo | grep \"^[c]pu MHz\"; echo -e \"\nMemory:\"; free -h; echo -e \"\nGPU:\"; sudo tegrastats | grep -E \"RAM|GR3D\"'" Enter

5.2 开发工具安装

安装常用开发工具:

sudo apt install -y \ git \ curl \ wget \ zip \ unzip \ rsync \ vim \ net-tools

配置Git:

git config --global user.name "Your Name" git config --global user.email "your.email@example.com" git config --global core.editor vim

5.3 远程开发配置

对于无头(Headless)设置,配置SSH远程访问:

sudo systemctl enable ssh sudo systemctl start ssh

配置VS Code远程开发:

  1. 在本地VS Code安装Remote - SSH扩展
  2. 添加Jetson Nano的连接配置
  3. 通过SSH连接到Jetson Nano进行远程开发

6. 环境验证与测试

完成所有配置后,我们需要验证环境是否正常工作。

6.1 综合性能测试

使用Python脚本测试整体性能:

import numpy as np import cv2 import tensorflow as tf from time import time # 测试NumPy性能 start = time() a = np.random.rand(1000, 1000) b = np.random.rand(1000, 1000) np.dot(a, b) print(f"NumPy matrix multiplication: {time()-start:.3f}s") # 测试OpenCV性能 img = cv2.imread('test.jpg') start = time() for _ in range(100): gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) blur = cv2.GaussianBlur(gray, (5,5), 0) print(f"OpenCV image processing: {(time()-start)/100:.3f}s per operation") # 测试TensorFlow性能 model = tf.keras.applications.MobileNetV2() start = time() pred = model.predict(np.random.rand(1, 224, 224, 3)) print(f"TensorFlow inference: {time()-start:.3f}s")

6.2 常见问题排查

遇到环境问题时,可以检查以下方面:

  1. CUDA不可用

    nvcc --version nvidia-smi
  2. 内存不足

    free -h sudo apt install zram-config
  3. 存储空间不足

    df -h sudo apt clean
  4. 包安装冲突

    pip check sudo apt --fix-broken install

经过以上系统化的配置,你的Jetson Nano已经准备好应对各种AI和计算机视觉项目的开发需求了。在实际项目中,我发现合理管理Python虚拟环境和定期清理不需要的包能够显著提高系统稳定性。对于资源密集型的任务,建议在代码中加入适当的内存和显存管理逻辑,避免系统因资源耗尽而崩溃。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询