GetModelAttributes

Devuelve metadatos en formato JSON acerca de un modelo con nombre cargado actualmente.

Formato 

GetModelAttributes ( nombreModelo )

Parámetros 

nombreModelo: el nombre del modelo que se va a evaluar. Este valor debe coincidir con el nombre de un modelo cargado anteriormente.

Tipo de datos devuelto 

texto

Se origina en 

19.3.1

Descripción 

Debe utilizar primero el paso de guión Configurar modelo de Machine Learning para cargar un modelo Core ML antes de usar GetModelAttributes.

A continuación, se muestra un ejemplo de lo que se devuelve para un modelo denominado "ModeloPrueba" que funciona con imágenes.

Copiar
{
    "APIVers": 1,
    "configuration"
    {
        "computeUnits" : "Todo"
    },
    "modelDescription"
    {
        "classLabels"
        [
            "British Shorthair",
            "atigrado, gato atigrado",
            . . .
            "Husky siberiano",
            "beagle"
        ],
        "inputDescriptions"
        [
            {
                "featureName" : "image",
                "isOptional" : 0,
                "pixelFormat" : 1111970369,
                "pixelsHigh" : 299,
                "pixelsWide" : 299,
                "sizeRange"
                {
                    "heightMax" : 9223372036854775808,
                    "heightMin" : 299,
                    "widthMax" : 9223372036854775808,
                    "widthMin" : 299
                },
                "type" : "image"
            }
        ],
        "metadata"
        {
            "author" : "Tenete Jantelli",
            "creatorDefined"
            {
                "com.apple.coreml.model.preview.type" : "imageClassifier",
                "com.apple.createml.app.tag" : "47",
                "com.apple.createml.app.version" : "2.0",
                "com.apple.createml.version" : "10.15.5"
            },
            "description" : "Clasificador de perros y gatos",
            "license" : "",
            "version" : "1.0"
        },
        "outputDescriptions"
        [
            {
                "featureName" : "classLabel",
                "isOptional" : 0,
                "type" : "unknown"
            },
            {
                "featureName" : "classLabelProbs",
                "isOptional" : 0,
                "type" : "unknown"
            }
        ]
    },
    "modelName" : "ModeloPrueba"
}

Los atributos devueltos en el objeto JSON dependen de lo que haya en el modelo. Por lo general, el nivel superior del objeto JSON contiene los siguientes objetos JSON.

Elemento JSON

Descripción

APIVers

Valor numérico de la versión de la estructura de este objeto JSON. Si la estructura de este objeto JSON cambia en una versión posterior, este número cambiará.

configuration

Puede contener solo la clave computeUnits, que presenta uno de los siguientes valores que especifican las unidades de procesamiento que utiliza el modelo durante la evaluación:

  • "Solo CPU"

  • "CPU y GPU"

  • "Todo"

modelDescription

Puede contener lo siguiente:

  • classLabels: una matriz de los nombres de lo que puede reconocer un modelo de imagen.

  • inputDescription: una matriz de objetos en la que cada uno de ellos describe una entrada que espera el modelo para una función. En el caso de los modelos que procesan imágenes, normalmente solo hay una entrada y puede contener claves como las siguientes:

    • featureName: en el caso de los modelos de imagen, el valor es normalmente "image". Observe que estos valores se corresponden con los parámetros con nombre transferidos a la función ComputeModel.

    • isOptional: indica si la función es opcional.

    • type: en el caso de los modelos de imagen, el valor es normalmente "image". Para los modelos generales, el valor puede ser "Int64," "Double" o "String".

    • Otros atributos que describen las restricciones de una imagen de entrada.

  • Objeto metadata: un objeto que contiene el autor, la descripción, la licencia, la versión y los metadatos personalizados definidos por el creador del modelo.

  • outputDescription: una matriz de objetos en la que cada uno de ellos describe una salida que el modelo proporciona para una función. Esta matriz es similar a inputDescription, aunque, por lo general, proporciona menos información.

  • paramDescriptions: una matriz de objetos en la que cada uno de ellos proporciona el nombre y el alcance de los parámetros del modelo.

  • trainingInputDescriptions: determina si el modelo puede actualizarse con formación e información adicionales sobre los parámetros del modelo.

modelName

Nombre que el paso de guión Configurar modelo de Machine Learning utiliza para cargar el modelo.

Notas 

  • Esta función solo se admite en iOS, iPadOS y macOS.

Ejemplo 1 

Este guión carga un modelo y muestra sus atributos como datos de JSON con el formato mostrado arriba.

Copiar
Configurar modelo de Machine Learning [ Operación: Visión ; Nombre: "ModeloPrueba" ; Desde: Table::CampoContenedorModelo ]
Establecer variable [ $modelAttributes ; Valor: 
    JSONFormatElements ( GetModelAttributes ( "ModeloPrueba" ) ) ]
Mostrar cuadro de diálogo personalizado [ $modelAttributes ]

Ejemplo 2 

Para un modelo cargado denominado "ModeloPrueba", devuelve 1 si la primera descripción de entrada del modelo contiene una clave sizeRange.

Copiar
Let ( [
    modelAttributes = GetModelAttributes ( "ModeloPrueba" ) ;
    firstInput = "modelDescription.inputDescriptions.[0]" ;
    inputKeys = JSONListKeys ( modelAttributes ; firstInput ) ;
    keyCount = PatternCount ( inputKeys ; "sizeRange" )
] ; 
    If ( keyCount > 0 ; 1 ; 0 )
)