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

问题描述 投票:-3回答:2

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

错误:OOM在分配具有形状[800,1280,3]的张量并在/ job上键入float:localhost / replica:0 / task:0 / device:GPU:0 by allocator GPU_0_bfc [[Node:Cast = CastDstT = DT_FLOAT, SrcT = DT_UINT8,_device =“/ job:localhost / replica:0 / task:0 / device:GPU:0”]提示:如果要在OOM发生时查看已分配的张量列表,请将report_tensor_allocations_upon_oom添加到RunOptions以获取当前值分配信息。

python-3.x tensorflow gpu gunicorn
2个回答
1
投票

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


0
投票

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

export CUDA_VISIBLE_DEVICES=1 

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

您可以使用检查可用的GPU

nvidia-smi 

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

© www.soinside.com 2019 - 2024. All rights reserved.