微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在 IOS 上运行 torchscript 模型推理会导致线程错误?

如何解决为什么在 IOS 上运行 torchscript 模型推理会导致线程错误?

我一直在尝试将在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 框架中按下按钮时,我正在运行代码

关于为什么会发生这种情况的任何直觉?我已经在模拟器上尝试过上述方法

解决方法

您可能应该在同一范围内(在调度块内)声明“pixelBuffer”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。