Jetson nano之pytorch 深度学习

Jetson nano之pytorch 深度学习

利用Darknet 和 YOLO进行检测

  • 利用yolo训练好的模型进行检测
git clone https://github.com/pjreddie/darknet
wget https://pjreddie.com/media/files/yolov3.weights
#需要网载的东西
cd darknet
sudo vim Makefile


GPU=1
CUDNN=1
NVCC=/usr/local/cuda-10.0/bin/nvcc

ifeq ($(GPU), 1)
#只修改这个下面的
COMMON+= -DGPU -I/usr/local/cuda-10.0/include/
LDFLAGS+= -L/usr/local/cuda-10.0/lib64 -lcuda -lcudart -lcublas -lcurand

​ 之后按照博客对~/.bashrc文件添加了路径

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

​ 再回到原本的文件夹下make。make完成后,将下载好的权重文件放在darknet文件夹下,执行命令

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
#可执行文件  功能  文件夹下的cfg配置  权重文件    文件夹下的测试图片
##上述文字对应上述代码各片段的作用

​ 使用yolov3.cfg跑代码仅在第四回程序就被杀死,内存占用过大。选用了yolov3-tiny.cfg和yolov3-tiny.weights同样可以执行上面的测试代码,执行效果如下:

在这里插入图片描述

​ 因为yolov3-tiny效果其实并不太好,有其他效果很差的识别图。

​ 下面给出yolov3-tiny的效果对比图,这些图也反映了我放弃yolov3-tiny的原因:

在这里插入图片描述
在这里插入图片描述

​ 因此打算选用yolov4。其权重下载地址在https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT。

​ 不过其darknet模型yolov3不在一个git库中,从网上重新下载之后

cd darknet-master
sudo vim Makefile

GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=1
OPENMP=1
LIBSO=1
#之后同上将一些含有cuda的改成cuda-10.0

make

​ 同样,下载权重后,再运行

./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

​ 结果发现,yolov4也不能幸免,在133个进程后被杀死。还是内存不够的原因,因此采用接下来的方法。

​ 根据其他博主的做法,创建一个swapfile。Jetson Nano只有4GB内存,不足以编译dlib。为了解决这个问题,我们将设置一个swapfile,通过调用磁盘的虚拟内存,它允许我们将磁盘空间用作额外的RAM。

​ 运行以下命令

git clone https://github.com/JetsonHacksNano/installSwapfile
cd installSwapfile
./installSwapfile.sh

​ 然后看到结果如下:

在这里插入图片描述

​ 重启之后,再次挑战yolov4。(看这样子感觉训练没办法在Jetson nano上做了,还要在自己电脑上跑训练了,又要匹配环境⊙﹏⊙∥)再次运行结果如下:

​ 看到这里就感慨之前yolov3-tiny的效果图了。。不能比。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同时,使用了磁盘充当内存后我也回去试了试yolov3,首先第一感觉是慢,在其12层被卡死时我选择了放弃,板子已经过热,重启之后依旧卡死(有yolov4了之后就不用再搞yolov3了,v4真香)。

Jetson nano摄像头运行yolo demo

安装GStreamer

安装以下内容:

sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt-get update
sudo apt-get install gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev

之后,修改之前Makefile的配置,将里面的OPENCV设为1,之后再make,否则下述代码运行不成功。

./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights "nvarguscamerasrc ! video/x-raw(memory:NVMM), width=1280, height=720, format=NV12, framerate=30/1 ! nvvidconv flip-method=2 ! video/x-raw, width=1280, height=720, format=BGRx ! videoconvert ! video/x-raw, format=BGR ! appsink"

效果图如下(摄像头清晰度过低):

在这里插入图片描述

最后,因网速下载过慢之类的,若有需权重文件、一些git库的,可私信联系,我整理一下放在网盘里发链接出来。

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值