我正在尝试使用具有GPU的远程服务器上的具有张量流后端的Keras来训练我的深度学习代码。但是,即使是GPU服务器也会声明OOM。
这是输出:
2018-02-09 14:19:28.918619:I tensorflow / core / common_runtime / bfc_allocator.cc:685]统计数据: 限制:10658837300 In Inse:10314885120 MaxInUse:10349312000 NumAllocs:8762 MaxAllocSize:1416551936
2018-02-09 14:19:28.918672:W tensorflow / core / common_runtime / bfc_allocator.cc:277] ************ __ ********** ************************************************** ******************** xxxxxx 2018-02-09 14:19:28.918745:W tensorflow / core / framework / op_kernel.cc:1182]资源耗尽:OOM何时分配形状张量[13772,13772]并键入float 2018-02-09 14:19:29.294784:E tensorflow / core / common_runtime / executor.cc:643] Executor无法创建内核。资源耗尽:OOM在分配形状张量[13772,13772]并输入float [[Node:training_4 / RMSprop / zeros = Constdtype = DT_FLOAT,value = Tensor,_device =“/ job:localhost / replica:0 / task:0 /设备:GPU:0" ]]
有没有办法解决这个问题?我尝试调整批量大小,它最初在批量大小为100时工作但是当我将其减少到50时,它显示了这个错误。之后,我尝试批量100,但它再次显示同样的错误。
我试图在运行评估时搜索如何暂停训练二进制文件,但没有得到太多。
非常感谢您对此的帮助!谢谢!!
答案 0 :(得分:0)
您可以尝试改用model.fit_generator。