AlexeyAB DarkNet YOLOv3框架解析与应用实践(六)

  1. Tiny Darknet

听过很多人谈论SqueezeNet。

SqueezeNet很酷,但它只是优化参数计数。当大多数高质量的图像是10MB或更大时,为什么要关心的型号是5MB还是50MB?如果想要一个小模型,实际上很快,为什么不看看darknet参考网络?它只有28MB,但更重要的是,它只有8亿个浮点运算。最初的Alexnet是23亿。darknet是速度的2.9倍,而且它很小,准确度提高了4%。

那么SqueezeNet呢?当然,重量只有4.8mb,但向前传球仍然是22亿次。Alexnet是一个伟大的分类第一关,但不应该被困在时代时,网络这么坏也这么慢!

但不管怎样,人都很喜欢SqueezeNet络,所以如果真的坚持使用小型网络,请使用:

Tiny Darknet

Model

Top-1

Top-5

Ops

Size

AlexNet

57.0

80.3

2.27 Bn

238 MB

Darknet Reference

61.1

83.0

0.81 Bn

28 MB

SqueezeNet

57.5

80.3

2.17 Bn

4.8 MB

Tiny Darknet

58.7

81.7

0.98 Bn

4.0 MB

真正的赢家显然是Darknet参考模型,但如果你坚持想要一个小模型,请使用Tiny Darknet。或者自己训练,应该很容易!

下面是如何在Darknet中使用它(以及如何安装Darknet):

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

cd darknet

make

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

./darknet classify cfg/tiny.cfg tiny.weights data/dog.jpg

Hopefully
you see something like this:

data/dog.jpg:
Predicted in 0.160994 seconds.

malamute: 0.167168

Eskimo dog:
0.065828

dogsled: 0.063020

standard schnauzer:
0.051153

Siberian husky: 0.037506

下面是配置文件:tiny.cfg

模型只是一些3x3和1x1卷积层:

layer filters
size input output

0 conv

16 3 x 3 / 1 224 x 224 x
3 -> 224 x 224 x
16

1 max          2 x 2 / 2   224 x 224 x

16 -> 112 x 112 x
16

2 conv

32 3 x 3 / 1 112 x 112 x
16 -> 112 x 112 x
32

3 max          2 x 2 / 2   112 x 112 x

32 -> 56 x
56 x 32

4 conv

16 1 x 1 / 1 56 x
56 x 32 ->
56 x 56 x 16

5 conv

128 3 x 3 / 1 56 x
56 x 16 ->
56 x 56 x 128

6 conv

16 1 x 1 / 1 56 x
56 x 128 -> 56 x
56 x 16

7 conv

128 3 x 3 / 1 56 x
56 x 16 ->
56 x 56 x 128

8 max          2 x 2 / 2    56 x

56 x 128 -> 28 x
28 x 128

9 conv

32 1 x 1 / 1 28 x
28 x 128 -> 28 x
28 x 32

10 conv
256 3 x 3 / 1 28 x
28 x 32 ->
28 x 28 x 256

11 conv
32 1 x 1 / 1 28 x
28 x 256 -> 28 x
28 x 32

12 conv
256 3 x 3 / 1 28 x
28 x 32 ->
28 x 28 x 256

13 max 2 x 2 / 2 28 x
28 x 256 -> 14 x
14 x 256

14 conv
64 1 x 1 / 1 14 x
14 x 256 -> 14 x
14 x 64

15 conv
512 3 x 3 / 1 14 x
14 x 64 ->
14 x 14 x 512

16 conv
64 1 x 1 / 1 14 x
14 x 512 -> 14 x
14 x 64

17 conv
512 3 x 3 / 1 14 x
14 x 64 ->
14 x 14 x 512

18 conv
128 1 x 1 / 1 14 x
14 x 512 -> 14 x
14 x 128

19 conv
1000 1 x 1 / 1 14 x
14 x 128 -> 14 x
14 x1000

20 avg 14 x 14 x1000
-> 1000

21 softmax 1000

22 cost 1000

  1. DarkGo: Go in Darknet

AlphaGo让对玩游戏的神经网络感兴趣。

还没有真正读过他的论文,但已经实现了所想象的类似于他的策略网络的东西。它是一种神经网络,预测围棋中最有可能的下一步动作。可以和专业游戏一起玩,看看接下来可能会发生什么动作,让它自己玩,或者尝试与它对抗!

目前DarkGo的水平是1。这对于一个没有前瞻性的网络来说是非常好的,但是只评估当前的状态。

Playing With A Trained Model

First install Darknet, this can be accomplished with:

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

cd darknet

make

Also
download the weights file:

wget
pjreddie.com/media/files/go.weights

Then run
the Go engine in testing mode:

./darknet go test
cfg/go.test.cfg go.weights

这将产生一个交互式围棋板。可以:

按回车键,只需从计算机中播放第一个建议的移动

输入一个类似于3的数字来播放该数字建议

输入一个像A 15这样的位置来执行这个动作

输入c A 15以在A 15清除任何碎片

输入b 15在a15处放置黑色块

输入w A 15在15处放置一个白色块

输入p通过转弯

玩得高兴!

如果希望网络更强大,请将flag-multi添加到testing命令中。这将在多次旋转和翻转时评估板,以获得更好的概率估计。它可以在CPU上很慢,但如果有CUDA的话,它会很快。
数据

使用休·珀金斯的Github的Go数据集。给Darknet提供的数据是一个单通道图像,对当前游戏状态进行编码。1代表的棋子,-1代表对手的棋子,0代表空白。该网络预测当前玩家下一步可能在哪里玩。

在后处理后使用的完整数据集可以在此处找到(3.0
GB),仅用于训练:

开始训练

Hardware Guide: Neural Networks on GPUs (Updated 2016-1-30)

卷积神经网络目前在计算机视觉领域非常流行。然而,由于它是相对较新的,而且这个领域在它周围发展的如此之快,许多人对如何最好地训练它感到困惑。

英伟达希望您购买他的新数字Devbox,但价格为15000美元,有8-10周的延迟时间,不知道为什么会有人想要它。大约6000美元税后,可以建立自己的4 GPU盒,在短短几天内从新蛋船运。

完整版本

可以在这里找到的全部build编译。这只是为了盒子,还需要一些GPU。从亚马逊买了4辆EVGA Titan_X。

基本的电脑是1400美元,再加上4千美元的GPU,就准备好了!不到15000美元。 GPU

可能最重要和最昂贵的部分,的build编译将是GPU,并有充分的理由。gpu在训练和测试神经网络方面比CPU快100倍以上。的大部分计算都是将大矩阵相乘在一起,所以需要一张具有高单精度性能的卡。

CPU: Intel Core i7-5820K

大量廉价内存。32GB应该足够了,尽管这意味着的RAM比VRAM少!

SSD: Mushkin Enhanced Reactor
2.5" 1TB

Titan X

这可能是想要的。这款游戏机被设计成英伟达(NVIDIA)最高端的游戏GPU,其处理能力高达7 TFLOPS,售价仅为1000美元,您可以将其中的4台设备安装在一台机器上。有了12GB的VRAM,他可以运行所有的大模型,并有足够的空间。

网上的人似乎认为EVGA和华硕在质量上是相当的,但EVGA有更好的客户服务,所以会得到那个。在亚马逊买的,因为它比其他选择便宜一点,而且发货很快。

竞品:特斯拉K40、K80、其他GeForce 900

K40和K80更倾向于高双精度的性能,并不真正关心。它的单精度性能与泰坦X不相上下,但有着显著的提高。

其他高端GTX卡,如980和980Ti,与Titan X相比,可以获得很好的单精度性能,但如果您需要大量的处理能力,则使用4 Titan X运行一台机器要比使用8 980生产两台机器简单得多。下面是比较:

·
Titan X: 1,000,6.9TFLOPS,6.9GFLOPS/1,000, 6.9 TFLOPS, 6.9 GFLOPS/1,000,6.9TFLOPS,6.9GFLOPS/

·
GTX 980 Ti: 670,5.6TFLOPS,8.4GFLOPS/670, 5.6 TFLOPS, 8.4 GFLOPS/670,5.6TFLOPS,8.4GFLOPS/

·
GTX 980: 500,4.1TFLOPS,8.2GFLOPS/500, 4.1 TFLOPS, 8.2 GFLOPS/500,4.1TFLOPS,8.2GFLOPS/

·
Tesla K40: 3,000,4.3TFLOPS,1.4GFLOPS/3,000, 4.3 TFLOPS, 1.4 GFLOPS/3,000,4.3TFLOPS,1.4GFLOPS/

·
Tesla K80: 5,000,8.7TFLOPS,1.7GFLOPS/5,000, 8.7 TFLOPS, 1.7 GFLOPS/5,000,8.7TFLOPS,1.7GFLOPS/

从效率的角度来看,980TI是领先的。不过,确实做出了一些牺牲:只有6gb的VRAM,总体性能也比较慢。如果手头拮据, 980TI是个不错的选择。主要的外卖是,无论如何,不要得到特斯拉斯。拿出来的东西都很贵。如果想在一个盒子比泰坦X的整体处理能力是最好的选择。

Motherboard: GIGABYTE
GA-X99-UD3P

主板最重要的方面是,它可以容纳所有的卡。不管选什么,确保它能支持4卡。一般来说,寻找高端游戏主板。有足够的空间放4张双宽卡。

SSD: Mushkin Enhanced Reactor
2.5" 1TB

可以花很多钱买一个像NVIDIA的devbox那样的9tb RAID,或者可以只买一个SSD。备份硬盘仍然是个好主意,可以放在同一台机器上,也可以通过远程同步训练过的型号。但这一个固态硬盘将足以存储和服务您的数据,甚至到4个GPU同时。可以在一个磁盘上同时运行4个最快的Imagenet模型,而不会延迟训练。这意味着它每秒加载大约1000个图像(大约16MB)!因为大多数型号都比较大,所以现在从磁盘加载不会成为您的瓶颈。 唯一的缺点是尺寸。如果处理的是非常大的数据集,可能需要一个更大的硬盘来存储数据,然后再进行预处理。

Case: Rosewill Thor V2

这可能是最不重要的,但看起来确实很酷!真的只需要一个足够大的箱子来舒适地安装所有的部件。4 GPU占用了很多空间!也想要酷的东西。Rosewill包4风扇预先安装和足够的空间,不必担心电缆管理,这是很好的,性价比高。

AlexeyAB DarkNet YOLOv3框架解析与应用实践(六)相关推荐

  1. AlexeyAB DarkNet YOLOv3框架解析与应用实践(五)

    AlexeyAB DarkNet YOLOv3框架解析与应用实践(五) RNNs in Darknet 递归神经网络是表示随时间变化的数据的强大模型.为了更好地介绍RNNs,我强烈推荐Andrej K ...

  2. AlexeyAB DarkNet YOLOv3框架解析与应用实践(四)

    AlexeyAB DarkNet YOLOv3框架解析与应用实践(四) Nightmare 从前,在一所大学的大楼里,西蒙尼亚.维达第和齐瑟曼有一个很好的主意,几乎和你现在坐的大楼完全不同.他们想,嘿 ...

  3. AlexeyAB DarkNet YOLOv3框架解析与应用实践(三)

    AlexeyAB DarkNet YOLOv3框架解析与应用实践(三) ImageNet分类 您可以使用Darknet为1000级ImageNet挑战赛分类图像.如果你还没有安装Darknet,你应该 ...

  4. AlexeyAB DarkNet YOLOv3框架解析与应用实践(二)

    AlexeyAB DarkNet YOLOv3框架解析与应用实践(二) 版本3有什么新功能? YOLOv3使用了一些技巧来改进训练和提高性能,包括:多尺度预测.更好的主干分类器等等.全部细节都在我们的 ...

  5. AlexeyAB DarkNet YOLOv3框架解析与应用实践(一)

    AlexeyAB DarkNet YOLOv3框架解析与应用实践(一) Darknet: C语言中的开源神经网络 Darknet是一个用C和CUDA编写的开源神经网络框架.它速度快,易于安装,支持CP ...

  6. alexeyab darknet 编译_【目标检测实战】Darknet—yolov3模型训练(VOC数据集)

    原文发表在:语雀文档 0.前言 本文为Darknet框架下,利用官方VOC数据集的yolov3模型训练,训练环境为:Ubuntu18.04下的GPU训练,cuda版本10.0:cudnn版本7.6.5 ...

  7. yolov3(三:算法框架解析)

    应用见: https://blog.csdn.net/Darlingqiang/article/details/103889245 https://blog.csdn.net/Darlingqiang ...

  8. 蚂蚁集团网络通信框架 SOFABolt 功能介绍及协议框架解析 | 开源

    简介:开源网络通信框架 SOFABolt 首次线上直播文字回顾. ,有趣实用的分布式架构频道. 回顾视频以及 PPT 查看地址见文末.欢迎加入直播互动钉钉群 : 30315793,不错过每场直播. 大 ...

  9. 1、RPC框架解析:开篇-什么是RPC?

    1.1.简介 从客户端转后台开发已经快三年了,决定沉淀一些系统性的东西,想了很多题目,最终决定写一篇关于RPC框架相关的吧. 准备从概念,应用,到实践总结出一个系列. 1.2.涉及知识 以gRPC为示 ...

最新文章

  1. 图像处理之opencv图像特效大全
  2. numpy基础——数组的组合与分割
  3. 前后端分离和微服务_为什么说微服务,要从前后端分离开始?一文带你揭秘深入微服务...
  4. jq点击所有子元素_jQuery删除/清空指定元素下的所有子节点的方法
  5. python特性 property_python 特性 property
  6. Pagerank-2
  7. 全球嵌入式技术与 IoT 产业回顾与展望 | 技术头条
  8. 在 Mac 上如何使用鼠标键来控制指针?
  9. 自学Android资料大放送
  10. html英文期刊参考文献,英文参考文献标准格式
  11. 计算机考研 专业课 数据结构
  12. Jenkins配置邮件, Extended E-mail Notification, 破解管理员密码
  13. ESP8266连接手机
  14. 甘思咪哚,肉骨茶,Greenland
  15. python numpy是什么_Python库Numpy里ndarray.ndim 是什么意思?
  16. 【AI-CPS】【大数据】NeuSeer平台助力工业大数据服务商
  17. 机器学习电脑配置有什么要求?要什么显卡?
  18. 生产周期如何改善?我来教您
  19. 戴尔venue11pro刷linux,科技教程:戴尔Venue11Pro测评
  20. ABP VNext学习日记17

热门文章

  1. Docker compose 容器编排
  2. 2022-2028年中国复合软管行业市场行情动态及发展趋向分析报告
  3. 批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)的理解
  4. tf.shape()
  5. LeetCode简单题之查找共用字符
  6. 大三Java后端暑期实习面经总结——Java容器篇
  7. 云端一体全栈解决方案
  8. PyTorch 神经网络
  9. 自动驾驶感知系统盘点
  10. 没有添加跳新增,添加之后跳修改