问题描述:
在工程上同时使用了Tensorflow框架模型与pytorch框架模型。全部模型大小加起来1个G左右,显存11G,但是运行时报错:
CUDA out of memory
RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 10.91 GiB total capacity; 856.79 MiB already allocated; 17.38 MiB free; 71.21 MiB cached)
在网上找相关问题的文章,在https://www.cnblogs.com/jisongxie/p/10276742.html下看到一种解释:
我在加载模型的时候,先加载的就是tensorflow模型,这样,tensorflow会将显存占满。后续再加载pytorch模型就会出现out of memory的错误。
解决方法:
(1)如果有多个GPU,可以给模型分配到不同的device上
(2)如果只有一个GPU,那只能先加载pytorch的模型,至少我这样解决了问题。详细的可以参考https://www.cnblogs.com/jisongxie/p/10276742.html