NVIDIA Jetson系列作为边缘计算领域的标杆产品,其核心板模块(SoM)采用CPU+GPU异构架构,专为嵌入式AI应用设计。目前主流型号包括:
硬件选型建议:根据实际AI模型复杂度选择——目标检测类轻量模型可选Nano,多路视频分析建议Xavier NX,自动驾驶等复杂场景需Orin系列。
模块载板(Carrier Board)作为核心板的扩展基座,需关注以下接口配置:
JetPack是NVIDIA官方提供的全栈式开发套件,包含:
版本对应关系示例:
| JetPack版本 | CUDA版本 | cuDNN版本 | TensorRT版本 |
|---|---|---|---|
| 5.1.2 | 11.4 | 8.6.0 | 8.5.2 |
| 4.6.1 | 10.2 | 8.2.1 | 8.0.1 |
首次启动建议执行:
bash复制sudo apt update && sudo apt full-upgrade -y
sudo apt install -y ubuntu-desktop # 如需GUI
关键依赖安装:
bash复制sudo apt install -y \
build-essential \
cmake \
git \
libopenblas-dev \
libatlas-base-dev
针对JetPack 5.1.2的CUDA 11.4安装:
bash复制sudo apt install -y \
cuda-11-4 \
cuda-toolkit-11-4 \
nvidia-cudnn-* # 通配符匹配所有cudnn组件
环境变量配置(写入~/.bashrc):
bash复制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}}
验证安装:
bash复制nvcc --version # 应显示11.4
nvidia-smi # 查看GPU状态
安装特定版本(需与CUDA严格匹配):
bash复制sudo apt install -y \
libcudnn8=8.6.0.*-1+cuda11.4 \
libcudnn8-dev=8.6.0.*-1+cuda11.4 \
libcudnn8-samples=8.6.0.*-1+cuda11.4
测试样例程序:
bash复制cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN # 应输出Test passed!
完整安装套件:
bash复制sudo apt install -y \
tensorrt=8.5.2.*-1+cuda11.4 \
tensorrt-dev=8.5.2.*-1+cuda11.4 \
tensorrt-libs=8.5.2.*-1+cuda11.4 \
python3-libnvinfer=8.5.2.*-1+cuda11.4 \
uff-converter-tf \
onnx-graphsurgeon
Python环境配置:
bash复制pip3 install --upgrade pip
pip3 install pycuda numpy pillow
模型转换示例(ONNX→TensorRT):
python复制import tensorrt as trt
TRT_LOGGER = trt.Logger(trt.Logger.WARNING)
builder = trt.Builder(TRT_LOGGER)
network = builder.create_network(1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH))
parser = trt.OnnxParser(network, TRT_LOGGER)
with open("model.onnx", "rb") as f:
parser.parse(f.read())
bash复制sudo jetson_clocks --fan
bash复制sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 写入/etc/fstab实现开机自动挂载
CUDA与cuDNN版本冲突:
bash复制sudo apt --fix-broken install
sudo dpkg -l | grep cuda # 检查已安装版本
sudo apt purge libcudnn* # 必要时彻底重装
TensorRT模型加载失败:
python复制trt.init_libnvinfer_plugins(None, "")
Jetson设备过热降频:
bash复制tegrastats
bash复制sudo nvpmodel -m 0 # 最大性能模式
sudo jetson_clocks --show # 查看当前频率
dockerfile复制FROM nvcr.io/nvidia/l4t-base:r35.2.1
RUN apt update && apt install -y \
cuda-11-4 \
libcudnn8 \
tensorrt
cmake复制find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS})
target_link_libraries(your_target ${CUDA_LIBRARIES} nvinfer)
yaml复制# .gitlab-ci.yml示例
test_jetson:
image: nvidia/l4t-base
script:
- apt update && apt install -y python3-pip
- pip install pytest
- python -m pytest tests/
实际部署中,建议通过NVIDIA NGC获取预构建的容器镜像,可大幅降低环境配置复杂度。对于量产设备,可采用OTA方式更新BSP和AI模型,具体可参考NVIDIA的Aerial SDK方案。