【问题标题】:Why does the small and large loaded neural nets take the same amount of RAM? [closed]为什么小型和大型负载神经网络占用相同数量的 RAM? [关闭]
【发布时间】:2018-01-05 09:47:41
【问题描述】:

一开始,我在 caffe 框架中训练了一个卷积神经网络,其模型重 80Mb。虽然,我注意到在将其加载到我的项目后,它需要将近 1 Gb 的 RAM。在互联网上,我发现任何 CNN 都会占用大量内存。这就是为什么我认为更小的 CNN 可以解决我的问题。我训练了另一个层数较少的模型。最终,该模型仅重 60Mb,但仍占用了之前 1Gb 的 RAM 内存。

在回答我的问题之前,请注意:

1) 当我测量占用的内存量时,我已经注释了我项目的每一行,剩下的就是加载的模型。

2) 我已经使用终端命令“htop”检查了所占用的内存量(是的,它们是相等的)

附:我是 DNN 的新手,还有其他解决方案吗?感谢您的帮助!

更新

我创建了一个带有一个隐藏层的网络(只是为了实验)并将其加载到我的项目中。考虑到模型重量只有 160Kb 并且仍然需要 1Gb 的 RAM 内存,我当然不明白如何将 caffe 模型加载到项目中。我正在使用 caffe 库并使用“分类器”类加载模型。再次感谢您的帮助!

【问题讨论】:

    标签: c++ neural-network caffe conv-neural-network


    【解决方案1】:

    显然,您的进程在 RAM 中占用的大小并不取决于网络的大小。一定有别的东西。如果您对究竟是什么感兴趣 - 有内存分析工具,可以报告内存的去向。

    【讨论】:

    • 感谢您的回复!是的,我已经明白了。正如我所说,我已经评论了除“分类器分类器(model_file,trained_file,mean_file,label_file)之外的所有行;”这些课程占用了我的内存。你知道我该如何解决这个问题吗?
    • 使用内存分析工具。它会告诉你是什么占用了内存,但可能需要你从源代码构建 caffe。
    • 哦,对不起,我没有得到你的第一个答案。我忘记了分析工具。我会尝试并编写输出。再次感谢您!
    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 2021-12-15
    相关资源
    最近更新 更多