我在服务器上使用theano运行一个简单的网络并出现内存不足错误,但我不确定是什么原因。我问,因为它不太可能只是因为我使用了太多的内存。
原因如下:
首先,根据这个post,只有在使用GPU运行时才会导致不支持虚拟内存导致的问题,但是我正在用CPU运行它,所以应该没问题。
其次,我构建了一个网络,其中第一层是100k×10的矩阵,第二层是10乘1,所以模型的数量大约为1M。到目前为止,我只尝试了1000个数据点,所以即使机器将所有数据加载在一起,并将所有层初始化在一起,也应该有最多110M的浮点数。我在64位机器上使用了float32。根据这个post,每个数字最多需要60个字节。因此,整个初始化需要6GB内存。即使可能存在占用内存的各种不同资源,我也不明白为什么它不能在128GB RAM服务器上运行。
有人可以建议我应该研究什么吗?
以防万一有人要求代码,here就是这样。
答案 0 :(得分:1)
您的小型客舱的尺寸是多少?你需要记住,激活也会占用内存空间。