【问题标题】:unable to extract model type swift无法快速提取模型类型
【发布时间】:2018-09-03 21:39:26
【问题描述】:

CoreML尝试 制作性别分类器模型时使用 Swift Playgrounds 时遇到了一点小问题。当我将 Gender.mlmodelGender.swift 添加到 Playground 页面(Resources/ 和 Sources/)中它们各自的文件夹时,我收到了一个相当奇怪的错误,如下所示:

致命错误:“试试!”表达式意外引发错误:错误域 = com.apple.CoreML 代码 = 0“无法从已编译模型中的流中提取模型类型:打开文件流时出错:/var/folders/kt/11b_lk412hv327qjhvgnhvzr0000gn/T/com.apple.dt .Xcode.pg/auxiliarymodules/7C17E9A3-54C7-4828-96BD-00AE07EC7F3E/Gender_Classifier_PageSources.framework/Resources/Gender.mlmodel/coremldata.bin:未指定的iostream_category错误” UserInfo={NSLocalizedDescription=无法从编译模型中的流中提取模型类型:打开文件流时出错:/var/folders/kt/11b_lk412hv327qjhvgnhvzr0000gn/T/com.apple.dt.Xcode.pg/auxiliarymodules/7C17E9A3-54C7-4828-96BD-00AE07EC7F3E/Gender_Classifier_PageSources.framework/Resources/Gender.mlmodel/coremldata .bin:未指定的 iostream_category 错误}:文件 /BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-900.0.74.1/src/swift/stdlib/public/core/ErrorType.swift,第 181 行

我认为访问文件本身有问题,所以我尝试使用不同的位置和绝对路径作为字符串(强制解包时返回一个值),但无济于事。此外,我尝试了其他我知道可以加载的模型 (SqueezeNet.mlmodel),但效果不佳,返回了类似的错误。

感谢任何人能够提供的任何帮助,我完全被这个问题弄糊涂了。谢谢!

【问题讨论】:

    标签: ios swift iostream


    【解决方案1】:

    我找到了解决方案:显然 Swift Playgroundsnot.mlmodel 编译为 .mlmodelc,从而导致无法读取未编译的模型。对于其他想知道的人,只需运行 MLModel.compile(at: URL?) 将其转换为编译格式。

    【讨论】:

      【解决方案2】:

      在 Swift 5.2.3 中,以下是正确的。

      let url = try MLModel.compileModel(at: URL(fileURLWithPath: "<#/path/to/read/model.mlmodel#>"))
      let mode = try MLModel(contentsOf: url) 
      

      【讨论】:

        猜你喜欢
        • 2017-11-17
        • 1970-01-01
        • 2020-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多