错误:分配具有形状的张量时的OOM

时间:2018-06-08 12:20:44

标签: python-3.x tensorflow gpu gunicorn

我在使用Apache JMeter进行性能测试时遇到了我的初始模型问题。

  

错误:OOM在分配形状[800,1280,3]的张量并输入时   float on / job:localhost / replica:0 / task:0 / device:GPU:0 by allocator   GPU_0_bfc [[Node:Cast = CastDstT = DT_FLOAT,SrcT = DT_UINT8,   _device =" /作业:本地主机/复制:0 /任务:0 /设备:GPU:0"]]   提示:如果要在OOM发生时查看已分配的张量列表,   将report_tensor_allocations_upon_oom添加到RunOptions以获取最新信息   分配信息。

2 个答案:

答案 0 :(得分:1)

OOM代表Out Of Memory。这意味着你的GPU空间不足,大概是因为你已经分配了太大的其他张量。您可以通过缩小模型或减小批量来解决此问题。从它的外观来看,你正在拍摄大图像(800x1280),你可能想要考虑下采样。<​​/ p>

答案 1 :(得分:0)

如果你手头有多个GPUS,请选择一个不像这个那么忙的GPU(可能的原因,其他进程也在这个GPU上运行)。转到终端并键入

export CUDA_VISIBLE_DEVICES=1 

其中1是其他可用GPU的数量。重新运行相同的代码。

您可以使用

检查可用的GPU
nvidia-smi 

这将向您显示可用的GPU以及每个GPU可用的内存量