paddlepaddle使用多进程报错“(External) CUDA error(3), initialization error.”的解决方法

2021/12/3 7:08:43

本文主要是介绍paddlepaddle使用多进程报错“(External) CUDA error(3), initialization error.”的解决方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用paddlepaddle训练模型时,存在模型训练已结束,但GPU显存依然占用,影响下一次训练的问题。为了能够在模型训练结束后自动释放GPU显存,参考Tensorflow借助多进程释放内存的方法,可以将paddlepaddle的模型训练放到多进程中进行,从而让训练进程结束后GPU资源自动的释放。

但是在使用 multiprocessing 训练paddlepaddle模型时有时候会遇到

CUDA error(3), initialization error.

的错误提示。

参考paddlepaddle在github上的issue讨论,发现将所有与paddle相关的模块都放到 multiprocessing 里 import 且不要在多进程外有 import 这些模块就可以正常运行了,这样在进程结束后相应的资源也会自动释放。

参考:
TensorFlow函数使用完成释放显存问题 - 知乎
单gpu 多进程报错 · Issue #2241 · PaddlePaddle/PaddleDetection · GitHub
multiprocessing --- 基于进程的并行 — Python 3.7.12 文档



这篇关于paddlepaddle使用多进程报错“(External) CUDA error(3), initialization error.”的解决方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程