在一个python文件中执行了acl.init操作
def init_acl(self, device_id=0):
acl.init()
ret = acl.rt.set_device(device_id)
if ret:
raise RuntimeError(ret)
context, ret = acl.rt.create_context(device_id)
if ret:
raise RuntimeError(ret)
logger.debug('Init ACL Successfully')
return context
在当前的python中执行acl推理没有问题
ret = acl.mdl.execute(self.model_id, self.load_input_dataset, self.load_output_dataset)
但当用ThreadPool启动线程进行推理时,推理的结果会完全错误
with ThreadPoolExecutor(max_workers=5) as executor:
# 在线程池中执行任务
executor.submit(detect_processor.doProcessor, ss_path, dir_name, preid, rec_result, dalb)
这时所有的推理结果都不对。
应该怎么实现同一个om模型,在python里进行并行推理?
在一个python文件中执行了acl.init操作
def init_acl(self, device_id=0):
acl.init()
ret = acl.rt.set_device(device_id)
if ret:
raise RuntimeError(ret)
context, ret = acl.rt.create_context(device_id)
if ret:
raise RuntimeError(ret)
logger.debug('Init ACL Successfully')
return context
在当前的python中执行acl推理没有问题
ret = acl.mdl.execute(self.model_id, self.load_input_dataset, self.load_output_dataset)
但当用ThreadPool启动线程进行推理时,推理的结果会完全错误
with ThreadPoolExecutor(max_workers=5) as executor:
# 在线程池中执行任务
executor.submit(detect_processor.doProcessor, ss_path, dir_name, preid, rec_result, dalb)
这时所有的推理结果都不对。
应该怎么实现同一个om模型,在python里进行并行推理?