在jetson nano上配置cuda,pytorch,yolo v5

这个教程还是去年写的,记录一下在jetson上安装这些东西吧。

1.烧录镜像

1.1 下载镜像

准备一张新的sd卡,插入到读卡器中,与电脑连接。从官网上找到jetson nano适配的SD card image

https://developer.nvidia.com/embedded/downloads

如下图所示:
在这里插入图片描述

1.2 下载烧录工具

从官网上下载win32diskimager:

在这里插入图片描述
在映像文件中选择下载的文件,设备选择读卡器的那个盘,再点击写入。时间大概十二分钟左右。
最后将u盘插入到jetson nano中,进行初次启动。进入后,就是一个正常的ubuntu界面。

2.配置日常设置

首先更新下软件包和列表,建议这个操作时不时的做一下:

sudo apt-get update
sudo apt-get upgrade

2.1将界面配置成中文界面

2.2将输入法配置成pinyin

3.配置环境

3.1 配置CUDA

首先打开终端,快捷键(Ctrl+Alt+t),输入:

sudo gedit ~/.bashrc

这不就是配置环境变量,然后在弹出的文档中,最下面写入:

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

这里重新开一个终端,然后检查是否配置成功:

nvcc -V

如果出现配置信息就代表ok了。如果出现警告信息,就多重复“打开”(这里不用输入,已经输入进去了)、“保存”的步骤。

3.2 安装archiconda

因为在上面是没有anaconda的,只有一个archiconda代替他
输入命令:

wget https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh

下载,再输出:

bash Archiconda3-0.2.3-Linux-aarch64.sh

就在安装了。碰到yes就选yes
再配置环境变量:

sudo gedit ~/.bashrc

在打开的文档里面最后加入这一行代码:

export PATH=~/archiconda3/bin:$PATH

3.3 创建单个环境

安装了archiconda后,就出现一个默认的base环境,但是我们一般都创建其他的环境去执行不用的任务,比如我后面建了一个环境叫pytorch,注意,这里只是这个环境名叫pytorch,而不是那个pytorch框架,你们也可以换成其他名字。
首先,我们先进入conda环境,也就是默认的base环境:

source archiconda3/bin/activate

然后就会看见前面出现一个base,接着,我们创建一个叫环境名叫pytorch的环境,主要是为了后面加入pytorch框架以及运行的yolo:

conda create -n  pytorch python=3.6

然后我们可以选择下面的命令去查看已有的环境:

conda info --envs //或者
conda env list

可以看到,有一个base的环境和一个叫pytorch的环境。
接下来,进入我们新建的pytorch环境:

conda activate pytorch

在出现的命令行的前面就会出现pytorch,就说明我们以及进入了这个环境。
顺便说一下退出当前环境的命令:

conda deactivate

其实可以发现,在archiconda中,这些命令和我们平时在window上的anaconda是一样的。

3.4 在conda中添加清华源

首先我们安装一下pip,首先更新软件和依赖关系代码如下:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install --upgrade pip		

在当前环境中,我们加入以下代码:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

再添加清华源为默认网关:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

如果要移除的话,我们可以输入以下代码:

查看镜像源命令:conda config --show channels
移除镜像源命令:conda config --remove-key channels

这里我们还可以在sources.list中换成清华源,反正我两个都设置了,打开文档:

sudo gedit /etc/apt/sources.list

然后删除里面的所有的内容,再添加以下代码:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe

再保存,然后更新一下软件列表和软件以及依赖关系:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

3.5 安装pytorch

首先,从该链接中下载所需要的文件:

链接:https://pan.baidu.com/s/1OCGvG3uzc-49wRETgld4Vw 
提取码:njh1 

会得到两个文件。
准备一张新的SD卡,将这个文件拷在SD卡中,然后再插入到jetson nano中。
将这个文件放入到桌面上。
再进入我们建立的pytorch运行环境,然后输入:

sudo pip3 install//再将刚刚下载的.whl文件直接拖在该命令的后面

3.6 测试是否安装好pytorch

我们重新打开一个终端,重新进入pytorch,输入:

python

再输入:

import torch

再输入:

print(torch.__version__)

注意,上面是前后各两个_ ,这里吃大亏,研究了一会,才知道的。
如果出现版本号,就知道已经安装好了。

在import torch的时候,我这报了一个错误:
非法指(核心已转储),不知道啥意思,后面查解决办法,要输入:

export OPENBLAS_CORETYPE=ARMV8

这里又踩了一个大坑,大家最好是新开一个终端输入这个命令,因为我这里在pytorch的环境中输入的话,还是报错,后面才试了试在最初的shell命令框中输入,然后再打开环境测试,才发现没报错了,吃了大亏,这里也耗了我好久。

其实,可以直接:

conda list

就可以所有安装的库了。

3.7 安装torchvision

我们在当前pytoch环境下(还是我的文章会提醒),执行cd命令,进入到刚刚下载的torchvision文件夹下,我这里先后执行的命令是:

cd Desktop
cd pytorch-torchvision
cd torchvision

然后输入:

export BUILD_VERSION=0.9.0

然后安装:

python setup.py install

这里会报一个错误,不知道啥意思,于是在这里又纠结了好久,然后没办法了 ,就进行测试,测试的时候发现提示少了PIL包,然后我输入:

sudo apt-get install libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev
 
python3 -m pip install -i https://mirrors.aliyun.com/pypi/simple pillow

这里第一行又吃了大亏,输入后,然后显示错误:无法定位软件包 libjepg62。我知道一般显示无法定位软件包都是要换源,于是我就疯狂的更新列表还有软件,依赖之类的,再各种换源,一直重复这些步骤,还是没有解决。纠结了两个小时,后面猛的才发现,原来是,输入libjpeg62-dev的时候,打字打成了libjepg62-dev,怪不得定位不到,包的名字都打错了,我吐了。
上面这些步骤,装不上的,报错的,就多装几次,要么就重新开终端,更新软件,再试试。

3.8 测试是否安装torchvision

进入pytorch环境,输入:

python

再输入:

import torchvision

这里刚刚也说了,报了没有PIL的错误,然后装上之后就没报错了。
再输入:

print(torchvision.__version__)

注意这里还是前后各两个_ ,看到出现了版本号,就没问题了。

好啦,目前是安装到了这里才开始写的csdn,接下来该安装其他的东西了。先保存一下草稿。

3.9 安装yolov5

首先可以去官网下载yolo v5的代码,网址如下:

https://github.com/ultralytics/yolov5/tree/v5.0

这里随便选一个版本,我选了v5.0和master两个版本,再下载权重文件:

https://github.com/ultralytics/yolov5/releases

找到yolov5s.pt权重文件,这个文件是s的,说明比较小。
下载后,拷贝到u盘里面,然后插入jetson nano上。

然后再pytorch环境里面cd到master那个文件里,来安装运行yolov5所需要的库

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

然后这里最离谱了。首先安装到matplotlib时,卡住不动,然后报很多的错误,后面发现可能时numpy的版本高了一点,导致不兼容,于是我就卸载了numpy1.19.5,安装了1.19.4,再单独安装matplotlib3.2.2,果然跑动了。
然后安装到opencv-python,也就是会出现Building wheel for opencv-python (pyroject.toml),这里很离谱,其他的博主都是说等半小时到两小时,于是我也等了一次半小时,没反应,然后一次等了两小时,有结果了,都是报错,很多行的错误,少说也出现了500行,真的离谱。于是找了一些教程,试了试,于是又等了两小时,还是报错,直接在这里浪费了五六个小时。
后面我一想,我在window时安装yolov5所需要的库时,都是手动一个一个安装的,所以我现在就在一个一个安装,欸。
对照着requirement,一个一个安装,首先安装scipy==1.4.1

sudo pip3 install scipy==1.4.1

这里卡了很久,卡在installing build dependencies…后面还是报错了,看不懂的错误。
写到这里的时候,我还在解决这个问题,请稍后。。。。
这里我试了试:

pip install scipy==1.4.1

在等了半小时后,又报错了。
于是我试了试不放版本:

pip install scipy

欸,居然成功了,安装了1.5.4,但是我觉得不能高兴太早,可能会是导致一些包不兼容,先不管了,安装下一个吧。
安装tqdm:

sudo pip3 install tqdm==4.61.2

安装成功
继续安装PyYAML:

sudo pip3 install --upgrade PyYAML

这里会报错,说无法卸载。于是我采用:

sudo pip3 install PyYAML==5.4.1

还是报错,显示说存在某种版本的PyYAML,于是采用如下命令:

pip install PyYAML --ignore-installed

就可以安装上6.0.1的
接下来安装seaborn:

sudo pip3 install seaborn==0.11.1

这里卡在了building wheel for matplotlib…目前在等待。。
好啦,好歹成功了,虽然有警告。
接下来安装scikit-learn==0.19.2

sudo pip3 install scikit-learn==0.19.2

结果又等了半小时
现在安装tensorboard

sudo pip3 install tensorboard==2.5.0

安装thop

sudo pip3 install thop

安装 scikit-build

sudo pip3 install scikit-build==0.11.1

安装opencv-python

sudo pip3 install opencv-python==4.5.3.56

安装onnx,这里采用下面的代码会报错

pip install onnx

于是换成:

conda install onnx

安装pycocotools:

sudo pip3 install pycocotools

cd到master里面,执行:

python detect.py --weights yolov5s.pt

报错,没有cv2
但是我已经装了opencv-python
于是我再一次:

pip install opencv-python

我睡觉去了,回来再看。

好的,我回来了,报了几百行的错误。
再重新安装:

sudo pip3 install opencv-python==4.5.3.56

ok,然后运行:

python detect.py --weights yolov5s.pt

成功出了图片。
在这里插入图片描述

3.10配置Tensorrt

下载:

https://github.com/ultralytics/yolov5/tree/v5.0

然后运行:

python gen_wts.py --w yolov5.py
  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值