Jetson nano jetpack4.5安装torch1.8.0 yolov5(遇到到报错和解决办法)

吃饱了撑的搞了个nano来玩玩,记录一下配置torch=1.8.0,torchvision =0.9.0和yolov5的过程,遇到的报错以及解决方法

一、下载yolov5

先把项目git下来

git clone https://github.com/ultralytics/yolov5.git

如果git不下来可以把https改成git,下面所有git命令都适用

git clone git://github.com/ultralytics/yolov5.git

下载成功后看一下环境要求requirements.txt

# pip install -r requirements.txt

# base ----------------------------------------
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.1.2
Pillow
PyYAML>=5.3.1
scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.41.0

# logging -------------------------------------
tensorboard>=2.4.1
# wandb

# plotting ------------------------------------
seaborn>=0.11.0
pandas

# export --------------------------------------
# coremltools>=4.1
# onnx>=1.8.1
# scikit-learn==0.19.2  # for coreml quantization

# extras --------------------------------------
thop  # FLOPS computation
pycocotools>=2.0  # COCO mAP

torch,torchvision后面单独装,所以可以先装一些其他的库

pip3 install matplotlib pillow pyyaml tensorboard tqdm scipy

1.安装 matplotlib遇到Command “python setup.py egg_info” failed with error code 1

sudo apt-get install python3-matplotlib

二、torch环境配置

Nvidia官网上给出了用于Jetson系列的torch环境安装包以及安装方法,跟着命令走就行,这方面遇到问题的话可以先找找下面到issue,十分有用。地址在这:https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-8-0-now-available/72048

这里列有不同torch版本的安装包,选择对应版本下载就行,yolov5的requitments.txt里写的torch>=1.7.0,我就选择安装1.8.0版本的torch

安装命令如下:

wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.8.0-cp36-cp36m-linux_aarch64.whl
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
pip3 install Cython
pip3 install numpy torch-1.8.0-cp36-cp36m-linux_aarch64.whl

有可能这个whl下载很慢,可以先下好然后直接pip install
百度云连接:
链接:https://pan.baidu.com/s/1X-DhFmItE59KN5nVb36gwQ
提取码:eb3b
下载这个torch-1.8.0-cp36-cp36m-linux_aarch64.whl
Jetson nano jetpack4.5安装torch1.8.0 yolov5(遇到到报错和解决办法)_第1张图片

Import torch和numpy过程中遇到的问题以及解决方法:

在第一次安装的时候torch和numpy已经安装成功,但是import numpy和import torch的时候都会出现非法指令(核心已转储)的错误,这个问题找了半天没发现解决办法,最后还是在官网的issue里找到的,作者这么回答:
issue
在导入前输入下面命令即可正常import

export OPENBLAS_CORETYPE=ARMV8 

1.fatal error: cuda.h:没有那个文件或目录

三、torchvision环境配置

还是在那个网址找到对应版本的torchvision,对应关系如下:
Jetson nano jetpack4.5安装torch1.8.0 yolov5(遇到到报错和解决办法)_第2张图片
使用命令:

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
cd torchvision
export BUILD_VERSION=0.9.0  # where 0.x.0 is the torchvision version  
python3 setup.py install --user
cd ../  # attempting to load torchvision from build dir will result in import error
pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6

如果是python3.6,最后两条可以不用管
下面打开python检查一下torch和torchvision有没有安装好
Jetson nano jetpack4.5安装torch1.8.0 yolov5(遇到到报错和解决办法)_第3张图片

编译torchvision过程中遇到的问题以及解决方法:

1.fatal error: cuda.h:没有那个文件或目录

在编译过程中我首先遇到了fatal error: cuda.h:没有那个文件或目录这个报错,虽然直接输入nvcc -V会显示CUDA的版本,但是很奇怪找不到cuda.h,所以使用如下命令添加环境变量

vim ~/.bashrc
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_ROOT=/usr/local/cuda

参考博客上面三行已经够来,但我的还是会报错fatal error,于是又添加下面两行

export PATH=$PATH:/usr/local/cuda-10.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64

保存之后运行

source ~/.bashrc

这样就没问题了

2.torchvision 0.7.0 fatal error: libavcodec/avcodec.h:没有那个文件或目录

在之前安装torch1.6.0和torchvision0.7.0时,遇到了fatal error: libavcodec/avcodec.h:没有那个文件或目录 \avformat.h(40) : fatal error C1083: 无法打开包括文件:“libavcodec/avcodec.h”: No such file or directory的报错,这里参考这位博主的解决办法在Jetson Xavier NX上安装torchvision编译报错:fatal error: libavcodec/avcodec.h: No such file or directory
具体操作就是更改torchvision的setup.py源码,找到if has ffmpeg 改为if False即可

四、测试yolov5

首先下载权重文件,然后运行下面命令检测图片

python detect.py --source data/images/ --weights weights/yolov5s.pt

Jetson nano jetpack4.5安装torch1.8.0 yolov5(遇到到报错和解决办法)_第4张图片运行下面命令检测视频流

python detect.py --source 0 --weights weights/yolov5s.pt

Jetson nano jetpack4.5安装torch1.8.0 yolov5(遇到到报错和解决办法)_第5张图片

Jetson nano jetpack4.5安装torch1.8.0 yolov5(遇到到报错和解决办法)_第6张图片

你可能感兴趣的:(Jetson,nano,深度学习)