Jetson xavier nx 安装CUDA10.2,和cudnn8.0

本文介绍了如何简化在Jetson Xavier NX上安装CUDA和CUDNN的过程。现在可以通过NVIDIA的SDKManager直接烧录CUDA到设备,避免复杂的手动安装步骤。同时提醒注意,在安装时不要勾选Jetson OS以防止重装系统。如果设备之前未安装CUDA,可能是因为系统烧录时未选择。此外,还提供了之前的老版安装CUDA 10.2和CUDNN 8.0的详细步骤,包括下载、配置环境和文件拷贝等。

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

2022.6.16更新

现在Jetson xavier nx 安装CUDA和CUDNN不需要下面那么复杂了,可以直接通过刷机将其安装到设备上。在官网下载SDK Manager可以直接将CUDA烧录进设备(特别注意,如果只安装CUDA,不要勾选下图中Jetson OS,否则会重装系统!!!!)。Jetson设备没有CUDA一般都是烧录系统时没有选择CUDA,如下图所示。我的设备是14G + 128G,系统烧录在核心中(14G),如果同时烧录系统和CUDA内存会不够。

刷机可以参考:NVIDIA JETSON XAVIER NX烧录(emmc版本)_dazzlingn的博客-优快云博客_jetson nx烧录

d6ded48a96164445bcb6da5af957d78d.png


以下是原答案:

我的Jetson xavier nx 在跑程序时出现以下错误:OSERROR:libcudnn.so.8: cannot open shared object file: No such file or directory 和libcurand1.so.10 cannot open shared object file: No such file or directory

原因是在设备中未发现cuda和cudnn,所以需要重装, 折腾了很久终于可以跑起来。

安装CUDA10.2

1、首先下载cuda

第一种方法:直接输入安装cuda10.2

sudo apt-get update
sudo apt-get install cuda-toolkit-10-2

第二种:也可使用百度网盘下载:

链接:https://pan.baidu.com/s/1AlsKa2esktaFxwUI768BSQ 
提取码:1998

2、下载好后配置环境

针对第一种方法:

sudo gedit ~/.bashrc

将以下内容复制到最后一行

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda

保存,然后


source ~/.bashrc

针对第二种方法:

参考:https://blog.youkuaiyun.com/qq_30841655/article/details/120527741

安装CUDNN8.0

这个比较复杂,因为官网提供的是基于Linux , amd类型的,而我们jetson需要下载arm架构的文件,所以只有在运行jetpack安装包后才会有arm类型的版本。

需要

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGVhcm5lcnh1eWFuZw==,size_12,color_FFFFFF,t_70,g_se,x_16

官网提供

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGVhcm5lcnh1eWFuZw==,size_20,color_FFFFFF,t_70,g_se,x_16

 首先进入官网https://developer.nvidia.com/jetpack-sdk-451-archive下载对应版本的文件,下载SDK Manager(需要科学上网,注册账号),或者用我下载的版本(上面百度网盘)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGVhcm5lcnh1eWFuZw==,size_19,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGVhcm5lcnh1eWFuZw==,size_20,color_FFFFFF,t_70,g_se,x_16

首先 需要一台Ubuntu系统的电脑,运行上面下载好的软件

sudo dpkg -i sdkmanager_1.6.1-8175_amd64.deb

 按照官方教程:https://docs.nvidia.com/sdk-manager/install-with-sdkm-jetson/index.html 得到如下界面,一路默认,直到文件下载好,下载过程中可能会报错,不用理会,我们的目的是得到cudnn8.0安装包。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGVhcm5lcnh1eWFuZw==,size_20,color_FFFFFF,t_70,g_se,x_16

 找到下载的文件(下图三个),下面在jetson 上面操作。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGVhcm5lcnh1eWFuZw==,size_11,color_FFFFFF,t_70,g_se,x_16

将3个文件拷贝到jetson设备上,运行:

sudo dpkg -i libcudnn8_8.0.0.180-1+cuda10.2_arm64.deb
sudo dpkg -i libcudnn8-dev_8.0.0.180-1+cuda10.2_arm64.deb
sudo dpkg -i libcudnn8-doc_8.0.0.180-1+cuda10.2_arm64.deb

安装完成后,其实是直接安装到了默认安装路径usr/include和usr/lib下的,因此需要将其拷贝到cuda安装路径下:

sudo cp /usr/include/cudnn.h /usr/local/cuda/include/

sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/

至此cuda10.2和cudnn8.0 安装就完成了

### Nvidia Jetson Xavier NX 上部署 YOLOv8 的教程 #### 环境准备 为了成功在 Nvidia Jetson Xavier NX 上部署 YOLOv8 模型,首先需要完成设备的基础环境配置。这包括硬件扩展支持以及软件开发工具链的搭建。 - **存储空间扩展** 由于 Jetson Xavier NX 默认 eMMC 存储仅有 16GB,不足以满足复杂模型训练推理的需求,建议通过 TF 卡作为系统盘来增加可用存储容量[^3]。具体操作涉及安装适配的 TF 卡驱动程序并重新配置启动顺序以优先加载外部存储介质中的操作系统。 - **CUDA cuDNN 安装** CUDA 是 NVIDIA 提供的一种并行计算平台及编程模型,cuDNN 则是一套针对深度神经网络优化的 GPU 加速库。对于 Jetson Xavier NX 而言,默认推荐版本为 CUDA 10.2cuDNN 8.0[^2]。这些组件能够显著提升卷积运算效率从而加快检测速度。 #### TensorRT 使用 Alpha 封装库进行模型转换与优化 TensorRT 是专为高性能 AI 推理设计的 SDK,在嵌入式平台上尤其重要因为它可以有效降低延迟同时提高吞吐量。本案例采用 TensorRT-Alpha 封装库简化了从 PyTorch 或 ONNX 文件向 TensorRT engine 的迁移过程[^1]。 以下是具体的步骤说明: 1. **PyTorch/YOLOv8 导出至 ONNX** 需要先利用官方脚本或者自定义方法把预训练好的权重文件导成通用中间表示形式即 `.onnx` 格式的模型。 ```python import torch model = torch.hub.load('ultralytics/yolov5', 'yolov8n') # 替换为你实际使用的型号如 yolov8s/l/x/m... dummy_input = torch.randn(1, 3, 640, 640).to(device='cuda') input_names = ["input_0"] output_names = ["output_0"] torch.onnx.export( model, dummy_input, "yolov8n.onnx", verbose=False, opset_version=12, do_constant_folding=True, input_names=input_names, output_names=output_names, dynamic_axes=None ) ``` 2. **ONNX -> TRT Engine (借助 TensorRT Python API)** 进一步将上述生成的 `*.onnx` 输入给 TensorRT 编译器构建最终运行时引擎实例化对象以便后续调用执行预测任务逻辑代码片段如下所示: ```python from polygraphy.backend.trt import CreateConfig, Profile, TrtRunner, engine_from_bytes, save_engine from polygraphy.comparator import DataLoader from polygraphy.logger import G_LOGGER import numpy as np def load_data(): data_loader = DataLoader() inp_data = np.random.rand(1, 3, 640, 640).astype(np.float32) data_loader.add_inputs({"input": inp_data}) return data_loader config = CreateConfig(profiles=[Profile().add("input", min=(1, 3, 320, 320), opt=(1, 3, 640, 640), max=(1, 3, 1920, 1920))]) with open("yolov8n.onnx", "rb") as f, TrtRunner(engine_from_bytes(f.read(), config=config)) as runner: outputs = runner.infer(feed_dict={"input": next(load_data())["input"]})['output'] print(outputs.shape) # 输出应匹配预期尺寸比如 [batch_size,num_boxes,(x,y,w,h)+conf+class_scores] ``` 以上展示了如何基于 Polygraphy 工具集快速验证导入后的张量形状正确与否等内容。 --- ### 性能优化技巧 当完成了基本框架移植之后还可以考虑以下几个方面进一步挖掘性能潜力: - 批次大小调整:适当增大 batch size 很可能带来更佳的整体表现但需权衡内存占用情况; - 数据精度控制:尝试 FP16/INT8量化方式减少浮点数位宽进而节省资源消耗; - 图像分辨率裁剪:依据应用场景选取合适的输入图像尺度既能保证识别效果又能缩短耗时; ---
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当年明月ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值