【发布时间】:2021-09-17 14:20:50
【问题描述】:
我一直在尝试将在python上开发的pytorch模型集成到IOS中。我看过的例子来自这个github repo。
我在自己的应用程序中使用了相同的 d2go 模型。我注意到的一件事是,如果模型推理代码未包装在 DispatchQueue 全局中,如下所示
DispatchQueue.global().async {
guard let outputs = self.inferencer.module.detect(image: &pixelBuffer) else {
return
}
我收到类似Thread 1: EXC_BAD_ACCESS (code=1, address=0x7ffeeb4e0000) 的错误,或者如果我的模型需要很长时间才能运行推理,即使它包含在上面的 dispatchQueue 代码中,我也会收到类似Thread 4: EXC_BAD_ACCESS (code=1, address=0x7ff159bed010) 的错误。
我不确定线程在这种情况下是如何工作的。在新的 SwiftUI 框架中按下按钮时,我正在运行代码。
对为什么会发生这种情况有任何直觉吗?我在模拟器上试过以上方法
【问题讨论】:
标签: ios multithreading pytorch dispatch-queue torchscript