GetModelAttributes

現在ロードされている名前付きモデルに関する JSON 形式のメタデータを返します。

構文 

GetModelAttributes (モデル名)

引数 

モデル名 - 評価するモデルの名前。この値は、以前にロードされたモデルの名前と一致している必要があります。

戻り値のデータタイプ 

テキスト

起点バージョン 

19.3.1

説明 

GetModelAttributes を使用する前に、[機械学習モデルを構成] スクリプトステップを使用して、Core ML モデルをロードする必要があります。

image を処理する TestModel という名前のモデルの場合に返される例を示します。

コピー
{
    "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"
}

JSON オブジェクトで返される属性はモデルの構成要素によって異なります。通常、JSON オブジェクトの最上位には次の JSON オブジェクトが含まれます。

JSON 要素

説明

APIVers

この JSON オブジェクトの構造のバージョン番号を表す数値。今後のリリースで JSON オブジェクトの構造が変化するとこの番号も変わります。

configuration

computeUnits キーのみが含まれます。このキーには、モデルが評価中に使用する処理装置を指定する次のいずれかの値が含まれます:

  • "CPU only"

  • "CPU and GPU"

  • "All"

modelDescription

次の値が含まれます:

  • classLabels – 画像モデルが認識可能なものを示す名前の配列。

  • inputDescription – オブジェクトの配列。各オブジェクトは、モデルが機能に関して想定している入力を記述します。画像を処理するモデルの場合、通常入力は 1 つだけで、次のようなキーが含まれます:

    • featureName – 画像モデルの場合、通常は値が "image" になります。これらの値は、ComputeModel 関数に渡される名前付き引数に対応することに注意してください。

    • isOptional – この機能がオプションかどうかを示します。

    • type – 画像モデルの場合、通常は値が "image" になります。一般モデルの場合、値が "Int64"、"Double"、または "String" になります。

    • 入力画像の制限を記述するその他の属性。

  • metadata オブジェクト – 作成者、説明、ライセンス、バージョン、およびモデルクリエータによって定義されたカスタムメタデータを含むオブジェクト。

  • outputDescription – オブジェクトの配列。各オブジェクトは、モデルが機能に関して提供する出力を記述します。この配列は、inputDescription に似ていますが、通常はより少ない情報を提供します。

  • paramDescriptions – オブジェクトの配列。各オブジェクトは、モデルの引数の名前有効範囲を提供します。

  • trainingInputDescriptions – 追加のトレーニングやモデルの引数に関する情報を使用してモデルを更新できるかどうか。

modelName

[機械学習モデルを構成] スクリプトステップでモデルをロードするために使用した名前。

メモ 

  • この関数は、iOS、iPadOS、および macOS でのみサポートされます。

例 1 

このスクリプトはモデルをロードし、その属性を上に示す書式設定された JSON データとして表示します。

コピー
機械学習モデルを構成 [ 処理:視覚 ; 名前:"TestModel" ; 次から: テーブル::モデルオブジェクトフィールド ]
変数を設定 [ $modelAttributes ; 値:
    JSONFormatElements (GetModelAttributes ("TestModel")) ]
カスタムダイアログを表示 [ $modelAttributes ]

例 2 

TestModel という名前のロード済みのモデルでは、モデルの最初の入力説明に sizeRange キーが含まれている場合に 1 を返します。

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