GetModelAttributes

Gibt Metadaten im JSON-Format über ein benanntes Modell zurück, das gerade geladen ist.

Format 

GetModelAttributes ( ModellName )

Parameter 

ModellName – der Name des zu evaluierenden Modells. Dieser Wert muss mit dem Namen eines zuvor geladenen Modells übereinstimmen.

Zurückgegebener Datentyp 

Text

Ursprung in Version 

19.3.1

Beschreibung 

Sie müssen zuerst den Scriptschritt „Machine Learning-Modell konfigurieren“ verwenden, um ein Core ML-Modell zu laden, bevor Sie „GetModelAttributes“ verwenden.

Das folgende Beispiel zeigt, was für ein Modell namens TestModell, das mit Bildern arbeitet, zurückgegeben wird.

Kopieren
{
    "APIVers": 1,
    "configuration"
    {
        "computeUnits" : "Alle"
    },
    "modelDescription"
    {
        "classLabels"
        [
            "Britisch Kurzhaar",
            "Tigerkatze, getigerte Katze",
            . . .
            "Sibirischer 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" : "Hunde- und Katzenklassifikation",
            "license" : "",
            "version" : "1.0"
        },
        "outputDescriptions"
        [
            {
                "featureName" : "classLabel",
                "isOptional" : 0,
                "type" : "unbekannt"
            },
            {
                "featureName" : "classLabelProbs",
                "isOptional" : 0,
                "type" : "unbekannt"
            }
        ]
    },
    "modelName" : "TestModell"
}

Die im JSON-Objekt zurückgegebenen Attribute hängen davon ab, was im Modell enthalten ist. Im Allgemeinen enthält die oberste Ebene des JSON-Objekts die folgenden JSON-Objekte.

JSON-Element

Beschreibung

APIVers

Numerischer Wert für die Version der Struktur dieses JSON-Objekts. Wenn sich die Struktur dieses JSON-Objekts in einem späteren Release ändert, ändert sich diese Nummer.

configuration

Darf nur den Schlüssel computeUnits enthalten, der einen der folgenden Werte hat, der die Verarbeitungseinheiten angibt, die das Modell während der Auswertung verwendet:

  • "CPU only"

  • "CPU and GPU"

  • "All"

modelDescription

Kann enthalten:

  • classLabels – Ein Array mit den Namen dessen, was ein Bildmodell erkennen kann.

  • inputDescription – Ein Array von Objekten, die jeweils eine Eingabe beschreiben, die das Modell für eine Funktion erwartet. Bei Modellen, die Bilder verarbeiten, gibt es in der Regel nur eine Eingabe und diese kann Schlüssel wie diese enthalten:

    • featureName – Bei Bildmodellen ist der Wert typischerweise „image“. Beachten Sie, dass diese Werte den benannten Parametern entsprechen, die an die Funktion „ComputeModel“ übergeben werden.

    • isOptional – Gibt an, ob diese Funktion optional ist.

    • type – Bei Bildmodellen ist der Wert typischerweise „image“. Für allgemeine Modelle können die Werte „Int64“, „Double“ oder „String“ sein.

    • Andere Attribute, die die Beschränkungen eines Eingabebildes beschreiben.

  • metadata Objekt – Ein Objekt, das Autor, Beschreibung, Lizenz, Version und benutzerdefinierte Metadaten enthält, die vom Ersteller des Modells definiert wurden.

  • outputDescription – Ein Array von Objekten, die jeweils eine Ausgabe beschreiben, die das Modell für eine Funktion erwartet. Dieses Array ist ähnlich wie inputDescription, liefert aber normalerweise weniger Informationen.

  • paramDescriptions – Ein Array von Objekten, die jeweils den Namen und den Umfang der Parameter des Modells bereitstellen.

  • trainingInputDescriptions – Ob das Modell mit zusätzlichem Training und Informationen über die Parameter des Modells aktualisiert werden kann.

modelName

Name, den der Scriptschritt „Machine Learning-Modell konfigurieren“ zum Laden des Modells verwendet.

Hinweise 

  • Diese Funktion wird nur unter iOS, iPadOS und macOS unterstützt.

Beispiel 1 

Dieses Script lädt ein Modell und zeigt seine Attribute als die oben dargestellten formatierten JSON-Daten an.

Kopieren
Machine Learning-Modell konfigurieren [ Vorgang: Vision ; Name: "TestModell" ; Von: Tabelle::ModellContainerFeld ]
Variable setzen [ $ModellAttribute ; Wert: 
    JSONFormatElements ( GetModelAttributes ( "TestModell" ) ) ]
Eigenes Dialogfeld anzeigen [ $ModellAttribute ]

Beispiel 2 

Gibt für ein geladenes Modell namens TestModell den Wert 1 zurück, wenn die erste Eingabebeschreibung des Modells einen sizeRange-Schlüssel enthält.

Kopieren
SetzeVar ( [
    ModellAttribute = GetModelAttributes ( "TestModell" ) ;
    firstInput = "modelDescription.inputDescriptions.[0]" ;
    inputKeys = JSONListKeys ( ModellAttribute ; firstInput ) ;
    keyCount = MusterAnzahl ( inputKeys ; "sizeRange" )
] ; 
    Wenn ( keyCount > 0 ; 1 ; 0 )
)