GetModelAttributes

Geeft als resultaat metagegevens in JSON-indeling over een benoemd model dat momenteel is geladen.

Opmaak 

GetModelAttributes ( modelNaam )

Parameters 

modelNaam - de naam van het te evalueren model. Deze waarde moet overeenkomen met de naam van een eerder geladen model.

Resulterend gegevenstype 

text

Afkomstig uit versie 

19.3.1

Beschrijving 

Gebruik eerst de Machine Learning-model configureren scriptstap om een Core ML-model te laden voordat u GetModelAttributes gebruikt.

Wat volgt is een voorbeeld van wat als resultaat wordt gegeven voor een model met de naam TestModel dat met afbeeldingen werkt.

Kopiëren
{
    "APIVers": 1,
    "configuration"
    {
        "computeUnits" : "All"
    },
    "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" : "Dog and cat classifier",
            "license" : "",
            "version" : "1.0"
        },
        "outputDescriptions"
        [
            {
                "featureName" : "classLabel",
                "isOptional" : 0,
                "type" : "unknown"
            },
            {
                "featureName" : "classLabelProbs",
                "isOptional" : 0,
                "type" : "unknown"
            }
        ]
    },
    "modelName" : "TestModel"
}

De kenmerken die als resultaat zijn gegeven in het JSON-object, hangen af van wat er in het model zit. In het algemeen bevat het JSON-object van het hoogste niveau de volgende JSON-objecten.

JSON-element

Beschrijving

APIVers

Numerieke waarde voor de versie van de structuur van dit JSON-object. Als de structuur van dit JSON-object verandert in een volgende release, verandert dit nummer ook.

configuration

Bevat mogelijk slechts de sleutel computeUnits, die een van de volgende waarden bevat, die de verwerkingseenheden aangeeft die het model tijdens de evaluatie gebruikt:

  • "CPU only"

  • "CPU and GPU"

  • "All"

modelDescription

Kan het volgende bevatten:

  • classLabels: een array met de namen van wat een afbeeldingsmodel kan herkennen.

  • inputDescription: een array van objecten, waarvan elk de invoer beschrijft van wat het model voor een kenmerk kan verwachten. Voor modellen die afbeeldingen verwerken, is er gewoonlijk slechts één invoer en kunnen sleutels bevatten als:

    • featureName: voor afbeeldingsmodellen is de waarde gewoonlijk "image". Deze waarden komen overeen met de genoemde parameters die aan de ComputeModel functie zijn doorgegeven.

    • isOptional: geeft aan of deze functie optioneel is.

    • type: voor afbeeldingsmodellen is de waarde gewoonlijk "image". Voor algemene modellen kunnen waarden "Int64", "Double" of "String" zijn.

    • Andere kenmerken die de beperkingen van een invoerafbeelding beschrijven.

  • metadata-object: een object dat de auteur, de beschrijving, de licentie, de versie en de aangepaste metadata bevat die door de maker van het model zijn gedefinieerd.

  • inputDescription: een array van objecten, waarvan elk de uitvoer beschrijft van wat het model voor een functie opgeeft. Deze array lijkt op inputDescription, maar bevat gewoonlijk minder informatie.

  • paramDescriptions: een array van objecten, waarvan elk de naam en het bereik van de modelparameters opgeeft.

  • trainingInputDescriptions: hiermee wordt aangegeven of het model kan worden bijgewerkt met aanvullende training en informatie over de modelparameters.

modelName

Naam dat door de scriptstap Machine Learning-model configureren is gebruikt om het model te laden.

Opmerkingen 

  • Deze functie wordt alleen ondersteund in iOS, iPadOS en macOS.

Voorbeeld 1 

Met dit script wordt een model geladen en worden de kenmerken ervan weergegeven als de geformatteerde JSON-gegeven die hierboven zijn getoond.

Kopiëren
Machine Learning-model configureren [ Operation: Vision ; Name: "TestModel" ; From: Table::ModelContainerField ]
Variabele instellen [ $modelAttributes ; Value: 
    JSONFormatElements ( GetModelAttributes ( "TestModel" ) ) ]
Aangepast dialoogvenster tonen [ $modelAttributes ]

Voorbeeld 2 

Voor een geladen model met de naam TestModel wordt 1 als resultaat gegeven als de beschrijving van de eerste invoer de sleutel sizeRange bevat.

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