1、首先确认orin上的cuda版本和jetpack版本,后续安装的pytorch和torchvision都需要与版本对应上;
解决nvcc -V command not found 问题:
vim ~/.bashrc
定位到内容末尾,最末尾
添加命令:
export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin
添加后激活
source ~/.bashrc
2、安装Miniconda3对应的aarch版本,创建自己的虚拟环境;
3、github上搜索https://github.com/qq44642754a/Yolov5_ros?tab=readme-ov-file,按照其英文教程进行yolov5_ros的安装,最后在工作空间下catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3;
4、在自己的虚拟环境下,从https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048网站下下载aarch版本的pytorch v1.11.0,并在目录下采用pip install安装;在https://github.com/pytorch/vision/tree/release/0.12网站下下载对应的torchvision的aarch版本,对应pytorch v1.11.0,torchvision版本为0.12.0,并采用源码编译。参见https://blog.csdn.net/hhfhng/article/details/127910237;
5、在conda环境下使用输入python3->import torch->torch.cuda.is_available(),若返回值为True,代表正常启动cuda,并可使用GPU;在conda环境下使用输入python3->import torchvision,若无报错代表torchvision可正常使用;
6、运行roslaunch yolov5_ros yolo_v5.launch,依据缺失的包(No module named xxx),采用pip install xxx进行反复安装;
7、解决Upsample' object has no attribute 'recompute_scale_factor'问题,见https://blog.csdn.net/Thebest_jack/article/details/124723687;
8、启动相机(记得source ~/.bashrc一下),设置好对应的ros话题发布图像信息,运行roslaunch yolov5_ros yolo_v5.launch则可正常检测。