在一个项目中用到acl加载om模型进行推理,由于速度需要,希望加载模型后,使用多线程进行推理。目前吧加载模型和推理部分进行了封装,形成了一个对象。init_acl代码如下图

推理部分代码如下图:

封装好的对象:

以上代码在统一线程运行没有问题,当使用多线程进行调用的时候,推理结果出现混乱:
from concurrent.futures import ThreadPoolExecutor
executor = ThreadPoolExecutor(10)
executor.submit(detect_processor.doProcessor, ss_path) //此处内部调用了模型推理
请问:
acl如何在多线程中运行时候,保证各自线程推理结果的正确性和独立性?
在一个项目中用到acl加载om模型进行推理,由于速度需要,希望加载模型后,使用多线程进行推理。目前吧加载模型和推理部分进行了封装,形成了一个对象。init_acl代码如下图
推理部分代码如下图:
封装好的对象:
以上代码在统一线程运行没有问题,当使用多线程进行调用的时候,推理结果出现混乱:
from concurrent.futures import ThreadPoolExecutor
executor = ThreadPoolExecutor(10)
executor.submit(detect_processor.doProcessor, ss_path) //此处内部调用了模型推理
请问:
acl如何在多线程中运行时候,保证各自线程推理结果的正确性和独立性?