我在使用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以获取当前值分配信息。
OOM代表Out Of Memory。这意味着你的GPU空间不足,大概是因为你已经分配了太大的其他张量。您可以通过缩小模型或减小批量来解决此问题。从它的外观来看,你可能想要考虑下采样的大图像(800x1280)。
如果你有多个GPUS,请选择一个不像这个那么繁忙的GPU(可能的原因,其他进程也在这个GPU上运行)。转到终端并输入
export CUDA_VISIBLE_DEVICES=1
其中1是可用的其他GPU的数量。重新运行相同的代码。
您可以使用检查可用的GPU
nvidia-smi
这将向您展示可用的GPU以及每个GPU可用的内存量