ComputeModel

返回包含核心 ML 模型评估结果的 JSON 对象。

格式 

对于常规模型:

ComputeModel (模型名称;参数名称1;值1)

对于视觉模型:

ComputeModel (模型名称;"image";值1;"confidenceLowerLimit";returnAtLeastOne)

参数 

模型名称 - 要解析的模型的名称。该值必须与先前加载的模型的名称相匹配。

参数名称1 - 模型设计者定义的输入参数的名称。在使用模型之前,您必须知道每一个参数的名称。

值1 - 模型输入参数的值。

image(仅限于视觉模型)- 模型将要解析的数据类型。

confidenceLowerLimit(仅限于视觉模型)(可选)- 通过排除小于指定值的结果来限制视觉模型返回的结果数量。该必须介于 0.0 和 1.0 之间。

returnAtLeastOne(仅限于视觉模型)- 真(非零)或假(零)值。如果 confidenceLowerLimit 的值排除了所有结果,并且:

  • 如果 returnAtLeastOne 为真,则返回最高置信度的结果
  • 如果 returnAtLeastOne 为假或者未指定,则返回空字符串

返回的数据类型 

文本

原始版本 

19.0

说明 

返回的对象可以一组名称-值对,也可以是单个名称-值对,具体取决于所解析模型的定义。

注释 

  • 在使用 ComputeModel 之前,必须先使用配置机器学习模型脚本步骤加载 Core ML 模型。
  • 输入参数后必须紧跟其各自的值,并且可以使用多个输入参数-值对。
  • 如果结果包含两个具有相同置信度的匹配项,则仅返回第一个值。
  • 仅 iOS、iPadOS 和 macOS 上支持此功能。

示例 1 

假定已经加载了一个名为 MobileNet 的模型,并且一个名为 myImageField 的容器字段位于当前布局上(或者可用于计算):

ComputeModel ( "MobileNet"; "image"; myImageField )

使用给定的模型评估 myImageField 中的图像并返回以下 JSON 字符串(为了清晰,已进行格式化;并且为了简洁,已删除一些行):

复制
[
    {
        "classification" : "grand piano, grand",
        "confidence" :0.998073041439056
    },
    {
        "classification" : "upright, upright piano",
        "confidence" :0.00192673446144909
    },
    {
        "classification" : "pool table, billiard table, snooker table",
        "confidence" :8.34678601790984e-08
    },
    {
        "classification" : "dining table, board",
        "confidence" :2.60599577472931e-08
    },
    {
        "classification" : "puffer, pufferfish, blowfish, globefish",
        "confidence" :5.19516656696278e-18
    }
]

示例 2 

使用示例 1 中的相同模型、容器字段和图像,进行以下计算:

ComputeModel ("MobileNet"; "image"; myImageField; "confidenceLowerLimit"; 1.0; "returnAtLeastOne"; 1)

返回 JSON 字符串:

复制
[
    {
        "classification" : "grand piano, grand",
        "confidence" :0.998073041439056
    }
]

confidenceLowerLimit 传递 1.0 的值将排除所有结果。但是,由于 returnAtLeastOne 设置为非零值,因此将返回具有最高置信度的结果。