2017-07-29 8 views
2

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

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

1)当我测量采取的内存量,我评论过我的项目的每一行和剩余的唯一的事情就是所加载的模型。

2)我已经确认使用终端命令“HTOP”截取的内存量(是它们是相等的)

P.S.我是DNN的新手,有没有其他解决方案?感谢您的帮助!

UPDATE

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

回答

0

显而易见,您的进程在RAM中的大小并不取决于网络的大小。必须有别的东西。如果您对什么感兴趣 - 有内存分析工具,可以报告内存消失的位置。

+0

谢谢你的回应!是的,我已经明白了。正如我所说我已评论除“分类器分类器(model_file,trained_file,mean_file,label_file);”这些课程需要我的RAM。你有什么想法我可以解决这个问题吗? –

+0

使用内存分析工具。它会告诉你什么需要记忆,但可能需要你从源头上构建咖啡。 – arrowd

+0

哦,对不起,我没有得到你的第一个答案。我忘记了剖析工具。我会尝试它并写出输出。再一次,谢谢你! –