TX2入门(9)——yolov3

1. 从github上clone

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

2. 修改Makefile

以下注释来自参考链接1

GPU=1     #是否需要用GPU
CUDNN=1   #是否需要用CUDNN,这是NVIDIA做的一些优化,实际上就是一些库文件,优化一些常用的矩阵操作
OPENCV=1  #是否需要用OPENCV
OPENMP=1  #CPU的多线程
#Arch 就是GPU的架构版本
ARCH= -gencode arch=compute_20,code=[sm_20,sm_21] \# Fermi 架构 常见 gtx480 gtx580
     -gencode arch=compute_30,code=sm_30 \# Kepler 架构 常见 gtx680 
     -gencode arch=compute_35,code=sm_35 \# Kepler 架构 常见 gtx780 
     -gencode arch=compute_50,code=[sm_50,compute_50] \# Maxwell 架构 常见 gtx750Ti gtx8 到9 系列 M
     -gencode arch=compute_52,code=[sm_52,compute_52]# Maxwell 架构 常见 gtx8 到9 系列
     -gencode arch=compute_61,code=[sm_61,compute_61]# Pascal 架构 常见 gtx 10系列
     -gencode arch=compute_70,code=[sm_70,compute_70]# Volta 架构 这个不常见,用作超算或者数据中心的,新出了一款2999刀的volta卡 Tesla V100,值得入手.

#高版本code不能在低版本的卡上跑,架构不同的其特性也有差距,所以尽量查一下你的显卡是在那个计算能力上的

因为我是在Jetson TX2应用,就对着一段进行了修改,(TX2的GPU是Pascal架构,计算能力为6.2

ARCH= -gencode arch=compute_30,code=sm_30 \
      -gencode arch=compute_35,code=sm_35 \
      -gencode arch=compute_50,code=[sm_50,compute_50] \
      -gencode arch=compute_52,code=[sm_52,compute_52] \
      -gencode arch=compute_62,code=[sm_62,compute_62]

3. 编译

应用时如果还需要修改其他配置项,在配置完成后记得先make clean,再重新make

make

4. 下载权重文件

wget https://pjreddie.com/media/files/yolov3.weights
wget https://pjreddie.com/media/files/yolov3-tiny.weights

5. 测试

其中,测试图片在darknet/data文件夹下,测试视频在darknet文件夹下

(1)图片

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

(2)摄像头实时检测

 ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights

(3)视频

./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights test1.MP4

参考:

yolo 搭建安装过程 - CSDN博客

NVIDIA产品计算能力的链接

猜你喜欢

转载自blog.csdn.net/haoqimao_hard/article/details/80591712