刚开始,我在caffe框架下训练了一个卷积神经网络,其模型重80Mb。虽然,我注意到在将它加载到我的项目之后,它需要几乎1 Gb的RAM。在互联网上,我发现任何CNN都需要大量的内存。这就是为什么我认为小CNN可以解决我的问题。我训练了另一个较少的层次。最终,该模型仅加权60Mb,但仍占用了先前的1Gb RAM内存。为什么小型和大型加载神经网络需要相同数量的RAM?
之前,你回答我的问题,请注意:
1)当我测量采取的内存量,我评论过我的项目的每一行和剩余的唯一的事情就是所加载的模型。
2)我已经确认使用终端命令“HTOP”截取的内存量(是它们是相等的)
P.S.我是DNN的新手,有没有其他解决方案?感谢您的帮助!
UPDATE
我创建了网与一个隐藏层(只是为了实验的缘故),并加载到我的项目。考虑到这个模型的权重只有160Kb,并且仍然需要1Gb的RAM内存,我当然不知道如何将caffe模型加载到项目中。我正在使用caffe库并使用类“分类器”加载模型。再次感谢您的帮助!
谢谢你的回应!是的,我已经明白了。正如我所说我已评论除“分类器分类器(model_file,trained_file,mean_file,label_file);”这些课程需要我的RAM。你有什么想法我可以解决这个问题吗? –
使用内存分析工具。它会告诉你什么需要记忆,但可能需要你从源头上构建咖啡。 – arrowd
哦,对不起,我没有得到你的第一个答案。我忘记了剖析工具。我会尝试它并写出输出。再一次,谢谢你! –