使用rtx3090显卡训练一直没问题。但手动停止训练后,测试模型效果,然后继续训练会报错
cuda error(2).out of memory.
[Advise:The API call failed because it was unable to allocate enough memory to perform the requested operation.](at /paddle/paddle/fluid/platform/stream/cuda_stream.cc:49)
[operator <gaussian_random> error]
检查过GPU没有任何其他进程在运行,内存充足。好像就是这个显卡上有其他进程占用显存,但nvidia-smi就是看不到任何进程在上面,显卡内存使用率一直为0,很奇怪。
换用其他同样规格的rtx3090显卡,训练正常,代码没有任何改动,都在同一个机器上的同一个docker容器内,环境都一致。
paddle使用的是2.1版本,测试模型的时候使用了tensorRT推理,cuda出现错误,手动非正常关闭了测试程序之后,就出现了上述错误。
查阅资料,唯一可参考的就是pytorch出现这种相同情况下,在dataloder里设置pin_memory=False可避免。和锁页内存有关。
请问paddle这种情况该怎么处理?
2条答案
按热度按时间gorkyyrv1#
您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档、常见问题、历史Issue、AI社区来寻求解答。祝您生活愉快~
Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the API,FAQ,Github Issue and AI community to get the answer.Have a nice day!
olhwl3o22#
如果是 linux 系统的话,可以
fuser -v /dev/nvidia*
查看占用设备进程。fuser -kv /dev/nvidia*
可以全部kill掉。