Jetson Nano踩坑记:软件篇
2023-11-02 08:56:15
前言
作为一名每天对着各种裸板的系统工程师,对Jetson Nano会踩到各种坑是做好了充分准备的,本着踩坑填坑的精神,在这里记录一下踩坑经历,供大家一乐。如何避开这些坑?想多了,因为以后你们即使绕开了这些坑,也会有其它的坑等着你:) 重要的是做到人挡杀人、佛挡杀佛,遇到坑直接趟过…
一、CUDA和cuDNN版本问题
CUDA和cuDNN是NVIDIA推出的GPU并行计算库和深度学习库,对于Jetson Nano来说必不可少。但是,不同的CUDA和cuDNN版本之间存在兼容性问题,需要特别注意。
踩坑经历:
刚拿到Jetson Nano时,兴冲冲地安装了最新的CUDA 11.0和cuDNN 8.0,然后发现TensorFlow无法正常运行。经过一番折腾,才发现TensorFlow与CUDA 11.0和cuDNN 8.0不兼容,需要使用CUDA 10.2和cuDNN 7.6才能正常工作。
解决方案:
使用CUDA 10.2和cuDNN 7.6,或者参考官方文档查看兼容的CUDA和cuDNN版本。
二、OpenCV版本问题
OpenCV是一个广泛使用的计算机视觉库,也是Jetson Nano上必备的库之一。但是,OpenCV的不同版本之间也存在兼容性问题。
踩坑经历:
一开始使用OpenCV 4.5,但发现与TensorFlow无法正常交互。经过一番折腾,才发现OpenCV 4.5与TensorFlow 2.0不兼容,需要使用OpenCV 4.1才能正常工作。
解决方案:
使用OpenCV 4.1,或者参考官方文档查看兼容的OpenCV版本。
三、TensorFlow和PyTorch版本问题
TensorFlow和PyTorch是两个流行的深度学习框架,也是Jetson Nano上必备的框架之一。但是,不同的TensorFlow和PyTorch版本之间也存在兼容性问题。
踩坑经历:
一开始使用TensorFlow 2.0,但发现与OpenCV 4.5无法正常交互。经过一番折腾,才发现TensorFlow 2.0与OpenCV 4.5不兼容,需要使用TensorFlow 1.15才能正常工作。
解决方案:
使用TensorFlow 1.15,或者参考官方文档查看兼容的TensorFlow和PyTorch版本。
四、Docker镜像问题
Docker是一种轻量级虚拟化技术,可以方便地在Jetson Nano上部署和运行各种应用程序。但是,不同的Docker镜像之间也存在兼容性问题。
踩坑经历:
一开始使用了一个官方的Jetson Nano Docker镜像,但发现无法安装TensorFlow。经过一番折腾,才发现该镜像没有安装CUDA,需要使用一个安装了CUDA的镜像才能正常工作。
解决方案:
使用安装了CUDA的Docker镜像,或者自己构建一个Docker镜像。
五、Linux内核版本问题
Jetson Nano使用的是Linux操作系统,不同的Linux内核版本之间也存在兼容性问题。
踩坑经历:
一开始使用的是Jetson Nano默认的Linux内核,但发现无法安装某些驱动程序。经过一番折腾,才发现该内核版本太旧,需要升级到更新的内核版本才能正常工作。
解决方案:
升级到更新的Linux内核版本,或者参考官方文档查看兼容的Linux内核版本。
六、驱动程序问题
Jetson Nano需要安装各种驱动程序才能正常工作,但是不同的驱动程序版本之间也存在兼容性问题。
踩坑经历:
一开始安装了NVIDIA提供的最新驱动程序,但发现无法正常启动X Window系统。经过一番折腾,才发现该驱动程序与Jetson Nano的硬件不兼容,需要使用旧版本的驱动程序才能正常工作。
解决方案:
使用与Jetson Nano硬件兼容的驱动程序版本,或者参考官方文档查看兼容的驱动程序版本。
总结
使用Jetson Nano时会遇到各种软件问题,这些问题往往是由不同软件版本之间的兼容性问题引起的。因此,在使用Jetson Nano时,需要特别注意软件版本之间的兼容性,并及时查看官方文档了解最新兼容信息。