GetModelAttributes

Retorna os metadados em formato JSON sobre um modelo especificado que está sendo carregado no momento.

Formato 

GetModelAttributes ( NomeDoModelo )

Parâmetros 

NomeDoModelo - o nome do modelo a ser avaliado. Esse valor deve corresponder ao nome de um modelo carregado anteriormente.

Tipo de dados retornado 

texto

Originada na versão 

19.3.1

Descrição 

Você primeiro precisa usar a Etapa de script Configurar o modelo de Machine Learning para carregar um modelo Core ML, antes de usar GetModelAttributes.

Veja a seguir um exemplo do que é retornado para um modelo denominado ModelodeTeste que trabalha com imagens.

Copiar
{
    "APIVers": 1,
    "configuration"
    {
        "computeUnits" : "Todos"
    },
    "modelDescription"
    {
        "classLabels"
        [
            "British Shorthair",
            "tabby, tabby cat",
            . . .
            "Siberian Husky",
            "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" : "Classificador de cachorro e gato",
            "license" : "",
            "version" : "1.0"
        },
        "outputDescriptions"
        [
            {
                "featureName" : "classLabel",
                "isOptional" : 0,
                "type" : "desconhecido"
            },
            {
                "featureName" : "classLabelProbs",
                "isOptional" : 0,
                "type" : "desconhecido"
            }
        ]
    },
    "modelName" : "ModelodeTeste"
}

Os atributos retornados no objeto JSON dependem do que está no modelo. Em geral, o nível superior do objeto JSON contém os seguintes objetos JSON.

Elemento JSON

Descrição

APIVers

Valor numérico para a versão da estrutura deste objeto JSON. Se a estrutura desse objeto JSON mudar em uma versão subsequente, esse número mudará.

configuração

Pode conter somente a chave computeUnits, composta por um dos seguintes valores que especificam as unidades de processamento usadas pelo modelo durante a avaliação:

  • "CPU only"

  • "CPU and GPU"

  • "All"

modelDescription

Pode conter:

  • classLabels – Uma matriz de nomes que podem ser reconhecidos por um modelo de imagem.

  • inputDescription – Uma matriz de objetos, cada um descrevendo uma entrada que o modelo espera para um recurso. Para modelos que processam imagens, normalmente há somente uma entrada que pode conter chaves como estas:

    • featureName – Para modelos de imagem, o valor normalmente é "image". Observe que esses valores correspondem aos parâmetros nomeados, transmitidos para a Função ComputeModel.

    • isOptional – Indica se o recurso é opcional.

    • type – Para modelos de imagem, o valor normalmente é "image". Para modelos gerais, os valores podem ser "Int64", "Double" ou "String".

    • Outros atributos que descrevem as restrições de uma imagem de entrada.

  • Objeto metadata – Um objeto que contém autor, descrição, licença, versão e metadados personalizados, definidos pelo criado do modelo.

  • outputDescription – Uma matriz de objetos, cada um descrevendo uma saída que o modelo fornece para um recurso. Essa matriz é semelhante à inputDescription, mas normalmente fornece menos informações.

  • paramDescriptions – Uma matriz de objetos, casa um fornecendo o nome e o escopo dos parâmetros do modelo.

  • trainingInputDescriptions – Se o modelo puder ser atualização com treinamento e informações adicionais sobre os parâmetros do modelo.

modelName

Nome que a etapa de script Configurar o modelo de Machine Learning usou para carregar o modelo.

Notas 

  • Essa função é compatível apenas com iOS, iPadOS e macOS.

Exemplo 1 

Esse script carrega um modelo e exibe seus atributos de acordo com o JSON formatado, mostrado acima.

Copiar
Configurar o modelo de Machine Learning [ Operação: Visão ; Nome: "ModelodeTeste" ; De: Table::ModelContainerField ]
Definir variável [ $modelAttributes ; Value: 
    JSONFormatElements ( GetModelAttributes ( "ModelodeTeste" ) ) ]
Mostrar caixa de diálogo personalizada [ $modelAttributes ]

Exemplo 2 

Para um modelo carregado, denominado ModelodeTeste, retornará 1 se a descrição da primeira entrada do modelo contiver a chave sizeRange.

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