You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

我的CoreML模型为何超出作用域?该如何修复?

解决CoreML模型超出作用域问题
  • 调整模型实例的作用域
    你写的let model = MarsHabitatPicker()如果是在函数、闭包这类局部代码块里定义,后续代码在外部访问就会触发超出作用域的错误。把模型实例声明为类的属性或者全局变量,就能在需要的地方正常调用:

    class YourViewModel: ObservableObject {
        // 模型实例提升到类级别,整个类范围内可访问
        private let model = MarsHabitatPicker()
        
        func makePrediction(input: MarsHabitatPickerInput) -> MarsHabitatPickerOutput? {
            return try? model.prediction(input: input)
        }
    }
    
  • 验证模型的Xcode导入配置
    检查你的.mlmodel文件是否已添加到项目,并且在文件检查器的Target Membership里勾选了当前的app target。如果自动生成的模型类(比如MarsHabitatPicker)没出现,执行Shift+Cmd+K清理编译缓存后重新构建项目。

  • 模型参数调整(按需操作)
    双击.mlmodel打开编辑器:

    • 在Model Settings的Compute Units选项中,可根据需求选择CPU Only、CPU and GPU或All,平衡性能和内存占用;
    • 核对输入输出的类型和数据范围,确保代码中传入的输入参数和模型定义完全匹配,避免因类型不匹配引发的间接报错。

内容的提问来源于stack exchange,提问作者harry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 15:33:10