PaddlePaddle / FastDeploy

⚡️An Easy-to-use and Fast Deep Learning Model Deployment Toolkit for ☁️Cloud 📱Mobile and 📹Edge. Including Image, Video, Text and Audio 20+ main stream scenarios and 150+ SOTA models with end-to-end optimization, multi-platform and multi-framework support.
https://www.paddlepaddle.org.cn/fastdeploy
Apache License 2.0
3.01k stars 465 forks source link

gpu显存不释放 #2391

Open zhuxiaobin opened 8 months ago

zhuxiaobin commented 8 months ago

PaddleClasModel 通过gpu启动,后面和教程中的一样,在启动多线程的同时,进行clone(),但是线程执行完后gpu不释放,请问该如何解决?

rainyfly commented 8 months ago

是说模型占用的那部分显存没有释放么

zhuxiaobin commented 8 months ago

是的,因为用的gpu,所以多线程,每个线程中对模型clone,执行完后del clone_model,但是gpu显存没降,有微信群么?交流方便点

rainyfly commented 8 months ago

gpu显存由paddle框架统一管理的,可能显存在paddle的available的池里,只是你用nvidia-smi看起来是分配了没释放

wanshichenguang commented 8 months ago

我使用fd加载uie模型也有这个问题

jiangjiajun commented 8 months ago

现在没有支持释放。待进程结束会自动释放,可以尝试创建子进程加载模型,需要释放时,结束子进程即可

zhuxiaobin commented 8 months ago

@jiangjiajun 现在的部署方式是fastdeploy + triton 服务化部署 ,并发等各方面都很好的解决了,就是没办法释放gpu,子进程启动模型后释放,这种只适合跑批,不太适合常驻高并发的server模式吧。。。

wanshichenguang commented 8 months ago

@jiangjiajun 现在的部署方式是fastdeploy + triton 服务化部署 ,并发等各方面都很好的解决了,就是没办法释放gpu,子进程启动模型后释放,这种只适合跑批,不太适合常驻高并发的server模式吧。。。

子进程是可以解决,现在已经转onnx使用了

zhuxiaobin commented 8 months ago

@wanshichenguang 是triton的docker服务化部署么?怎么解决呢?能否说的详细点,感谢

sanersbug commented 1 month ago

@wanshichenguang 大佬有示例可以参考吗,我放进进程发现没有释放,不知道哪里错了

wanshichenguang commented 1 month ago

@wanshichenguang 大佬有示例可以参考吗,我放进进程发现没有释放,不知道哪里错了

进程结束应该就释放了。也可以直接转onnx。搜索uie_pytorch这个框架

@wanshichenguang 是triton的docker服务化部署么?怎么解决呢?能否说的详细点,感谢

进程结束应该就释放了。也可以直接转onnx。搜索uie_pytorch这个框架

sanersbug commented 1 month ago

@wanshichenguang 谢谢你的推荐,但是我目前在做目标检测不是NLP,暂时用不了