本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】深度 | 硬件不给力,如何穷玩深度神经网络?(2)

时间:2017-01-11 00:31来源:118图库 作者:118开奖 点击:
你可能会疑惑:配置中怎么没有 NNPACK?这确实有点复杂,由 ajtulloch 制作的 Caffe 分支提供了使用 NNPACK 的最直接的方法。然而自从它被集成进去以后,NN

你可能会疑惑:配置中怎么没有 NNPACK?这确实有点复杂,由 ajtulloch 制作的 Caffe 分支提供了使用 NNPACK 的最直接的方法。然而自从它被集成进去以后,NNPACK API 就已经改变了,并且目前我们不能编译它)。Caffe2 对 NNPACK 有原生支持,但我不会考虑 Caffe2,因为它处于实验性阶段并且几乎对 Caffe 进行了重构,相关的文档也不多。另外一个选项就是使用 Maratyszcza/caffe-nnpack,虽然它比较老旧且没有什么维护。

另外一个问题就是 NNPACK 自身。它并不提供在 Linux/ARM 上的交叉编译(cross-compilation)配置,只有在 Android/ARM 上的交叉编译(cross-compilation)配置。我的实验性构建在与 MXNet 结合的目标平台上无法工作。我只能在台式电脑上运行它,但是我并没有看到使用 OpenBLAS 会有更优秀的表现。由于我的目标是评估已经可用的解决方法,所以我只能以后再做 NNPACK 的实验了。

相关链接:

ajtulloch 制作的 Caffe 分支:

NNPACK API 编译问题:https://github.com/Maratyszcza/NNPACK/issues/1#issuecomment-266416638

Maratyszcza/caffe-nnpack:

NNPACK Linux/ARM 问题:https://github.com/Maratyszcza/NNPACK/issues/35

硬件

所有的这些评估都是在四核 1.3 GHz CPU 和 1 GB RAM 的树莓派 3 上执行。操作系统是 32 位的 Raspbian,所以 CPU 不是 ARMv8 架构,而是 ARMv7 架构。

model name : ARMv7 Processor rev 4 (v7l)

BogoMIPS : 38.40

Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32

CPU implementer : 0x41

CPU architecture: 7

CPU variant : 0x0

CPU part : 0xd03

CPU revision : 4

测试草案

为了评估上述每个配置的性能,我们会使用相同的神经网络。也就是一个有 3 个卷积层和两个全连接层且在顶部有 softmax 的微型卷积神经网络:

conv1: 16@7x7

relu1pool1: MAX POOL 2x2conv2: 48@6x6

relu2pool2: MAX POOL 3x3conv3: 96@5x5

relu3fc1: 128 unitsfc2: 848 units

softmax

该卷积神经网络有 1039744 个参数。虽然非常小,但它足够处理许多计算机视觉任务。

该网络使用 Caffe 进行训练人脸识别任务,并将其转换为 TensorFlow 和 MXNet 格式从而使用这些框架进行评估。为了评估前向通过时间(forward pass time),从 1 到 256 的批大小都进行了测试,因为批大小对性能有很大的影响。而对于每个批大小,网络执行了 100 次前向通过,并为每一张图像计算了平均时间。

评估结果和讨论

在下面的表格中,列出了平均前向通过的时间。其中,A 是 caffe-openblas, B 是 caffe-openblas-dl, C 代表 tf-vanilla, D 是 tf-neon-vfpv4, E 是 mxnet-openblas, F 是 mxnet-openblas-dl。

  

码报:【j2开奖】深度 | 硬件不给力,如何穷玩深度神经网络?

码报:【j2开奖】深度 | 硬件不给力,如何穷玩深度神经网络?

在对数尺度(logarithmic scale)尺度上我们来看一下:

码报:【j2开奖】深度 | 硬件不给力,如何穷玩深度神经网络?

这些结果让我大吃一惊。首先,我没有预料到在 CPU 上运行 MXNet 有如此差的表现。但这看起来已经是一个众所周知的问题。此外,因为存储限制,它无法运行 256 张图片的 batch。第二个惊奇是优化过的 TensorFlow 竟有如此好的表现。它甚至比 Caffe 的表现还好(在超过 2 的批大小上);光是从原始框架上看是很难预料这个结果的。但小心:不保证你能在任意 ARM 设备上使用这些 flags。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容