【问题标题】:Understanding memory usage of neural network了解神经网络的内存使用情况
【发布时间】:2016-07-25 14:52:47
【问题描述】:

我正在尝试了解here 所示的 convnet 内存使用计算是如何执行的(向下滚动到 VGGNet 详细信息部分)。

查看 VGGNet 网络使用多少内存的计算输出显示:

TOTAL memory: 24M * 4 bytes ~= 93MB

但是,将列表中每个层的所有 memory: 值相加仅得到大约 15M * 4 字节,我不确定这个总数中其余的内存来自哪里。

【问题讨论】:

  • 我会说这是不一致的例子。
  • 我在 19 层实现 E 上使用相同的数学运算得到约 90MB,而不是 16 层 D:arxiv.org/pdf/1409.1556.pdf

标签: machine-learning neural-network conv-neural-network


【解决方案1】:

您忘记为 FC 添加内存:

FC:[1x1x4096] 内存:4096 权重:7*7*512*4096 = 102,760,448

FC:[1x1x4096] 内存:4096 权重:4096*4096 = 16,777,216

FC:[1x1x1000] 内存:1000 权重:4096*1000 = 4,096,000

我认为这是您计算中丢失的 9M。

【讨论】:

  • 你认为这些数字中缺少的9M在哪里,你加起来是4096+4096+1000吗?这些数字描述了每层神经元的数量,计算假设每个神经元占用 4 个字节的内存(这就是最终数字乘以 4 个字节的原因),因此它们没有考虑差异
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-26
  • 2016-03-07
  • 2019-04-11
  • 2019-01-13
  • 2011-01-12
  • 2019-06-22
  • 2020-09-29
相关资源
最近更新 更多