jetson TX2 跑yolov3

最近导师让跑一下yolo算法,给了我一个jetson TX2 的板子。
内部环境: ubuntu16 + cuda-9.0 ,然后其他的都是原来学长留下来的,所以因为不懂,走了很多坑。
下面说一下 进行 YOLO 算法从 测试的过程:
1、dartnet 的架构配置(GPU)
为了好管理,我是自己在主目录下创建了一个名字为 yolo 的文件。然后在yolo 文件里打开终端:

git clone https://github.com/pjreddie/darknet.git

用于下载dartnet 的架构,完成后会在 yolo 文件夹中生成一个 dartnet 文件夹,然后 cd 进去:
然后在 dartnet 文件夹中找到 Makefile 文件,使用 gedit 打开 修改如下:

GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=1
NVCC=/usr/local/cuda-9.0/bin/nvcc
ifeq ($(GPU), 1) 
COMMON+= -DGPU -I/usr/local/cuda-9.0/include/
CFLAGS+= -DGPU
LDFLAGS+= -L/usr/local/cuda-9.0/lib64 -lcuda -lcudart -lcublas -lcurand

一定要主要文件路径,特别是 NVCC 那里,我就是因为这里路径搞错了,走了好多歪路。
完成后,在dartnet 为终端中进行 make 编译

如果出现 image_opencv.cpp 的 文件出的一个函数 image mat_to_image(Mat m) 中的
IplImage ipl = m; 出现问题。这是由于 opencv 的版本为问题导致的,IplImagemat 类型的转换需要改成:

IplImage ipl = cvIplImage(m);

在进行 make

如果 dartnet 文件中出现了 名为dartnet的执行文件,就算编译完成了。

下面就是下载权重:

wget https://pjreddie.com/media/file/yolov3-ting.weights
wget https://pjreddie.com/media/file/yolov3.weights

下两个的原因是,其中一个权重可能会在运行时出现自动 killed 的情况出现,比如我就是在使用yolov3.weights 时出现了自动 killed 退出的状态(一般是内存问题),但是在使用 yolov3-ting.weights 时就是运行成功了。还有就是在使用 wegt 时会出现问题(无法解析主机地址),解决方法是:

sudo gedit /etc/resolv.conf

添加:

nameserver 8.8.8.8
nameserver 8.8.4.4

保存退出,在继续使用wget。
完成后,将 yolov3-ting.weights 与 yolov3.weights 都放到 dartnet 的文件目录下,然后执行:

./dartnet detect cfg/yolov3-ting.cfg yolov3-ting.weights data/dog.jpg

如果前面 opencv = 1 则会有图像出来,如下:
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LionelMartin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值