运行theano时,我收到错误:内存不足。见下文。 有什么可以采取的行动来释放记忆? 我知道我可以关闭应用程序等,但我只是想知道是否有人有其他想法。例如,是否可以保留内存?
THEANO_FLAGS = mode = FAST_RUN,device = gpu,floatX = float32 python conv_exp.py使用gpu设备0:GeForce GT 650M试图在a下运行 GPU。如果不需要,请修改network3.py以设置GPU 标志为假。 错误分配156800000字节的设备内存(输出 记忆)。驱动程序报告64192512字节空闲和1073414144字节 总计回溯(最近一次调用最后一次):文件" conv_exp.py",行 25,在 training_data,validation_data,test_data = network3.load_data_shared()文件 " /Users/xr/courses/deep_learning/con_nn/neural-networks-and-deep-learning/src/network3.py" ;, 第78行,在load_data_shared中 return [shared(training_data),shared(validation_data),shared(test_data)]文件 " /Users/xr/courses/deep_learning/con_nn/neural-networks-and-deep-learning/src/network3.py" ;, 第74行,共享 np.asarray(data [0],dtype = theano.config.floatX),borrow = True)文件 " /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/theano/compile/sharedvalue.py" ;, 第208行,共享 allow_downcast = allow_downcast,** kwargs)File" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/theano/sandbox/cuda/var.py", 第203行,在float32_shared_constructor中 deviceval = type_support_filter(value,type.broadcastable,False,None)MemoryError:('错误分配156800000字节的设备内存 (内存不足)。',"您可以考虑使用' theano.shared(..., 借=真)'&#34)
答案 0 :(得分:3)
如果将borrow设置为true,则启用垃圾收集(默认为true:config.allow_gc=True
),并且视频卡当前未用作显示设备(可疑,因为您正在使用移动gpu) ,唯一的其他选择是减少网络参数或可能减少模型的批量大小。如果模型使用丢失或基于噪声的掩码,后者将特别有效(这些掩码将等于批处理中的示例数量x丢弃或噪声的参数数量)。
否则也许您可以启动到命令提示符以节省几个mbs? :/