我从同事那里得到了张量流代码,并试图在DGX-1上运行它。但是,代码会引发异常:
ResourceExhaustedError(请参阅上面的回溯):分配带有shape [1,256,1024,1021]的张量并在/ job:localhost / replica:0 / task:0 / device:GPU:0上通过分配器GPU_0_bfc键入float [[{{node Optimizer / gradients / Decoder / Decoder / LeakyRelu_9_grad / Select_1}} =选择[T = DT_FLOAT,_device =“ / job:localhost /副本:0 / task:0 / device:GPU:0”]] / gradients / Decoder / Decoder / LeakyRelu_9_grad / GreaterEqual,Optimizer / Gradients / Decoder / Decoder / LeakyRelu_9_grad / zeros,Optimizer / gradients / Decoder / Decoder / conv2d_5 / Conv2D_grad / Conv2DBackpropInput)]] 提示:如果要在发生OOM时查看分配的张量的列表,请将report_tensor_allocations_upon_oom添加到RunOptions中以获取当前分配信息。
以下几点要注意:
Batch is already set to 1.
Every time, exception is raised on different epoch number.
I have tried following settings (not working):
config.gpu_options.allocator_type ='BFC'
config.gpu_options.per_process_gpu_memory_fraction = 0.90
任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
幸运的是,我尝试了不同的图像大小(其中一些大小导致代码异常或仍然存在内存问题)。
答案 1 :(得分:0)
您的计算机内存不足。您可以做一些事情:
Dense
,Conv2D
层中神经元的数量float
数据类型,即np.float16
而不是np.float64
batch_size
(或增加steps_per_epoch
)MaxPooling2D
层,并增加其池大小strides
层中使用较大的Conv2D
PIL
)