PaddlePaddle——问题解决:使用Python multiprocessing时报错:CUDA error(3), initialization error.

报错详情

在这里插入图片描述

报错代码

from paddle.inference import PrecisionType
from PaddleDetection_Inference_Lib import Paddle_inference
# process 1
def paddle_predict(quene):
    cap = Stereo_Camera(camera_id=0)
    paddle_infer = Paddle_inference(model_folder_dir, use_model_img_size, 
                                    infer_img_size, use_gpu, gpu_memory, 
                                    use_tensorrt, precision_mode)
    while True:
        start = time.time()          
        image = cap.rgb_image(0)
        result = paddle_infer.infer(image)

解决方法

将所有与paddle相关的模块都放到 multiprocessingimport 且不要在多进程外有 import 这些模块就可以正常运行了,这样在进程结束后相应的资源也会自动释放。

# process 1
def paddle_predict(quene):
	# 将paddle所有相关库都放入进程中import即可
    from paddle.inference import PrecisionType
    from PaddleDetection_Inference_Lib import Paddle_inference
    cap = Stereo_Camera(camera_id=0)
    paddle_infer = Paddle_inference(model_folder_dir, use_model_img_size, 
                                    infer_img_size, use_gpu, gpu_memory, 
                                    use_tensorrt, precision_mode)
    while True:
        start = time.time()          
        image = cap.rgb_image(0)
        result = paddle_infer.infer(image)

参考文章:

引用\[1\]中提到,在Windows下,Pythonmultiprocessing模块不太好用,所以PaddleOCR在Windows下会自动关闭多进程。因此,在Windows系统中,如果要使用PaddleOCR,需要手动修改代码关闭多进程。而在Linux系统中,可以正常运行。引用\[2\]中给出了一个解决方法,即将所有与Paddle相关的模块都放到multiprocessing中进行import,并且不要在多进程外部有对这些模块的import操作。这样做可以保证在进程结束后相应的资源会自动释放。引用\[3\]给出了一个报错代码和解决方法的示例。在解决方法中,将Paddle相关的模块放入进程中进行import,并在进程中进行PaddleOCR的预测操作。这样可以避免multiprocessing在Windows下的问题。 #### 引用[.reference_title] - *1* [百度飞桨PaddleOCR 使用记录(踩坑记录)](https://blog.csdn.net/u011489887/article/details/107677204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [PaddlePaddle——问题解决使用Python multiprocessing报错CUDA error(3), initialization error.](https://blog.csdn.net/qq_45779334/article/details/122024343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值