makefile运行_NVDIA TX2入门 系列之三:运行Yolov3

上篇TX2安装完成OpenCV 3.4.0之后,基本软件包已经安装完成,本篇开始安装并运行大名鼎鼎的号称速度最快的目标识别分类算法Yolov3。

Yolov3 是啥啊

Yolov3是一款基于darknet深度学习框架的目标检测开源项目,目前已经发展到第3版本,即V3版本,darknet短小精悍,虽然功能和复用性不如当前如日中天的Tensorflow和Caffe,但由于其源码都是用纯C语言和CUDA底层编写的,所以它的速度超快特点让它在Yolov3项目中大放光彩,能够充分发挥多核处理器和GPU并行运算的功能。本质上说,Yolov3就是一个实现了回归功能的深度卷积神经网络。

然而非常遗憾的是Yolo之父redmon前两天在个人Twitter上宣布,将停止一切CV研究,原因是自己的开源算法已经用在军事和隐私问题上,这对他的道德造成了巨大的考验。这对Yolo的发展来说不是一个好消息,但是redmon以自身退出学术界来为AI道德问题敲响警钟,这种行为还是值得点赞!

b563800ac40dd0db4f79f998c6deeb04.png

借用木盏博主的图来说明一下Yolov3的网络结构

工作环境

  • TX2 ubuntu 18.04;
  • CUDA:10.0;
  • cudnn:7.6.3。

安装Yolov3

首先从github下载yolov3的源代码:

$ t clone https://github.com/pjreddie/darknet yolov3

下载完成后,需要修改Makefile文件,以匹配TX2平台。

cd yolov3vim Makefile   //打开Makefile文件
#修改Makefile文件,GPU、CUDNN、OPENCV要是用设为1,如果要调试,DEBUG设为1GPU=1CUDNN=1OPENCV=1OPENNMP=0DEBUG=1#ARCH里边增加TX2支持,TX2位62ARCH= -gencode arch=compute_53,code=[sm_53,compute_53]              -gencode arch=compute_62,code=[sm_62,compute_62]     /#增加TX2支持
make -j8    //编译yolov3

yolov3运行测试

下载预训练模型,后期可以根据检测目标要求,修改训练自己的模型。

cd yolov3wget https://pjreddie.com/media/files/yolov3.weights //wget下载巨慢,而且很容易中断,建议迅雷下载后导入

经典的狗狗识别测试,检测完成后会生成predictons.jpg,并标出分类。

cd yolov3./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg  //运行yolov3检测dog.jpg图片
9be15112db9b45d5da6a42416794f7f6.png
287a32e275f0dff3eec0c639e2a3e348.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET7之MiniAPI(特别篇):.NET7 Preview3

.NET7的第三个预览版发布了,同样带来了mini api的更新,这次带来了路由过滤器,与mvc版的action 过滤器相似。具体见https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-7-preview-3/用官方的代码,跑不起来&…

C#实现树的双亲表示法

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace 树的实现 {public partial class Form1 : Form{public Form1(){Init…

C++编译之提示ld: can‘t open output file for writing: test1, errno=21 for architecture x86_64

1 问题 在mac 终端写了一个cpp文件,然后用命令编译运行提示错误如下 1111deMBP:code a1111$ g -stdc11 test1.cpp -o test1 ld: cant open output file for writing: test1, errno21 for architecture x86_64 clang: error: linker command failed with exit code…

MySQL存储写入速度慢分析

一、存储结构分析MySQL存储结构图:解析:1、读操作:内存读-->cache缓存读-->磁盘物理读读取到的数据会按上述顺序往回送。2、写操作:内存数据直接写入cache缓存(非常快)-->写入disk由上可知,MySQL之所以读写速…

windows 建立wifi热点

1、以管理员身份运行命令提示符:netsh wlan set hostednetwork modeallow ssidmywifi key123456其中ssid为wifi名称,key为wifi密码。2、设置Internet连接共享:在“网络连接”窗口中,右键单击已连接到Internet的网络连接&#xff0…

【C语言简单说】一:第一个C语言程序

注册CSDN有些年头了,但是从未写过任何任何的东西。 几年前的懵懵懂懂,现在虽然依旧懵懂但是还好,能够听得懂大触们大致再说神马东西了。 这段时间有点怀疑人生,由于本人才疏学浅,所以只好留下一点帮助小白级入门的干货…

腾讯视频VIP会员,周卡特价9元!腾讯官方直充,会员立即生效!

腾讯视频新剧热播,但去广告必须是腾讯视频VIP会员,今天就给大家推荐特价充值腾讯视频VIP会员的平台——幻海优品,官方在线直充,会员秒到!腾讯视频VIP会员特价充值周卡:原价12元,特价9元月卡&…

google+stackoverflow_哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题...

作者 | Nick Roberts编译 | AI科技大本营(ID:rgznai100)自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员。自那时以来,开发人员提出了数百万个关于开发领域的问题。但是,迫使开发者转向 Stack Overflow 的问题都是什么呢&am…

Android 中的接口回调

Android 中的接口回调转载于:https://www.cnblogs.com/zhujiabin/p/5223806.html

java 获取接口的注解_java反射注解妙用-获取所有接口说明

前言最近在做项目权限,使用shiro实现restful接口权限管理,对整个项目都进行了重构。而权限管理需要用到所有的接口配置,包括接口url地址,接口唯一编码等。想要收集所有的接口信息,如果工程接口很多,工作量可想而知。这…

C#窗体的Load事件与Shown事件的区别

Load&#xff1a;在第一次显示窗体前发生。 <pre name"code" class"csharp"> private void Form1_Load(object sender, EventArgs e){} Shown&#xff1a;只有在首次显示窗体时才会引发 Shown 事件&#xff1b;随后执行的最小化、最大化、还原、隐藏…

在CentOS7.0上制作openstack-juno本地yum源 .doc

在CentOS7.0上制作openstack-juno本地yum源参考文献&#xff1a; 2014/09/27 | http://www.kekeyun.net/?p222可可云计算网以http://www.kekeyun.net/?p222文为参考&#xff0c;在CentOS7.0上制作本地源&#xff0c;过程如下&#xff1a;一、创建CentOS7虚拟主机安装过程有…

【C语言简单说】二:第一个C语言程序详解(1)

如有错误请给与纠正… 上一个教程只说明了第一个C语言程序源码中的&#xff1a; printf("Hello Wrold!"); 这行代码的含义&#xff0c;现在我们来说说全部代码&#xff1b;当然为了各位的方便&#xff0c;我就把那个代码给复制过来了&#xff0c;如下: #include&…

C++之智能指针和普通指针单例模式两种实现

1 问题 实现c++的单例模式,这里测试分别写了通过智能指针返回对象和普通返回指针 2 代码测试 include <iostream> #include <mutex> #include <memory>using namespace std;class Single { public:static Single& getInstance(){std::mutex mt;if (…

mybatis 返回 插入的主键

2019独角兽企业重金招聘Python工程师标准>>> 一般返回的是 数据库的 自增的 主键&#xff0c;&#xff0c;&#xff0c; 百度了一通&#xff0c;&#xff0c;我 刚开始 以后 可以 通过 插入的方法的&#xff0c;&#xff0c; 返回值 可以获取到 自增的主键&#xff…

Source Generator实战

前言最近刷B站的时候浏览到了老杨的关于Source Generator的简介视频。其实当初.Net 6刚发布时候看到过微软介绍这个东西&#xff0c;但并没有在意。因为粗看觉得这东西限制蛮多的&#xff0c;毕竟C#是强类型语言&#xff0c;有些动态的东西不好操作&#xff0c;而且又有Fody、N…

python图片解析库_python用来获得图片exif信息的库实例分析

本文实例讲述了python用来获得图片exif信息的库用法。分享给大家供大家参考。具体分析如下&#xff1a; exif-py是一个纯python实现的获取图片元数据的python库&#xff0c;官方下载地址&#xff1a; http://exif-py.svn.sourceforge.net/viewvc/exif-py/source/EXIF.py?revis…

Linux Swap分区设定

因为准备在linux上面安装Oracle数据库&#xff0c;据说swap分区小于4G容易失败&#xff0c;天啦噜的我连swap分区是啥都不是非常清楚&#xff0c; 大概有个印象吧&#xff0c;但先搞大了再说。 测试证明Ubuntu14默认的swap分区是和初期设定的内存大小一样一样的。 最初因为手速…

java servlet https_javaweb项目对https的配置01

1.准备证书生成a.进入到jdk下的bin目录(如果配置了Java的环境&#xff0c;可以直接在cmd命令窗口中直接输入如下命令)keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore -validity 36500附&#xff1a;d:/tomcat.keystore是将生成的tomcat.keystore放…