推理时pytorch cuda内存不足

pytorch cuda out of memory while inferencing

我认为这是一个非常基本的问题,我很抱歉,因为我是 pytorch 的新手。我正在尝试使用 MantraNet 查找图像是否被操纵。在 运行 2-3 次推断后,我的 CUDA 内存不足,然后在重新启动内核后,我也不断收到相同的错误:错误如下:

运行时错误:CUDA 内存不足。尝试分配 616.00 MiB(GPU 0;4.00 GiB 总容量;1.91 GiB 已分配;503.14 MiB 空闲;PyTorch 总共保留 1.93 GiB)如果保留内存是 >> 已分配内存,请尝试设置 max_split_size_mb 以避免碎片。请参阅内存管理和 PYTORCH_CUDA_ALLOC_CONF

的文档

'试图分配内存(此处为 616.00 MiB)不断变化。我检查了 GPU 统计数据,当我尝试进行推理时它突然出现。在tensorflow中我知道我们可以通过定义一个上限来控制内存使用,在pytorch中有没有类似的东西可以尝试?

因此,在对单个图像进行推理时,我意识到我无法将我的图像放入我正在使用的 gpu 中,因此在将图像调整为特定值后,我能够在不进行推理的情况下进行推理面临任何内存问题。