GetModelAttributes

현재 로드된 이름이 지정된 모델에 대해 JSON 포맷으로 메타데이터를 반환합니다.

포맷 

GetModelAttributes(모델 이름)

매개 변수 

모델 이름 - 평가할 모델의 이름입니다. 이 값은 이전에 로드된 모델의 이름과 일치해야 합니다.

반환되는 데이터 유형 

텍스트

다음 버전에서 시작됨 

19.3.1

설명 

GetModelAttributes를 사용하기 전에 먼저 머신 러닝 모델 구성 스크립트 단계를 사용하여 Core ML 모델을 로드해야 합니다.

다음은 이미지와 함께 동작하는 TestModel이라는 모델에 대해 반환된 항목의 예제입니다.

복사
{
    "APIVers": 1,
    "configuration"
    {
        "computeUnits" : "모두"
    },
    "modelDescription"
    {
        "classLabels"
        [
            "브리티시 쇼트헤어",
            "얼룩무늬 고양이",
            . . .
            "시베리아 허스키",
            "비글"
        ],
        "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" : "개와 고양이 분류기",
            "license" : "",
            "version": "1.0"
        },
        "outputDescriptions"
        [
            {
                "featureName" : "classLabel",
                "isOptional" : 0,
                "type" : "알 수 없음"
            },
            {
                "featureName" : "classLabelProbs",
                "isOptional" : 0,
                "type" : "알 수 없음"
            }
        ]
    },
    "modelName" : "TestModel"
}

JSON 대상체에 반환된 속성은 모델의 내용에 달려 있습니다. 일반적으로 JSON 대상체의 최상위 레벨은 다음 JSON 대상체를 포함합니다.

JSON 요소

설명

APIVers

이 JSON 대상체 구조 버전의 숫자 값입니다. 이 JSON 대상체의 구조가 다음 릴리즈에서 변경되면 이 숫자가 변경됩니다.

configuration

computeUnits 키만 포함할 수 있으며, 평가하는 동안 모델이 사용하는 처리 단위를 지정하는 다음 중 하나의 값을 갖습니다.

  • "CPU only"

  • "CPU and GPU"

  • "All"

modelDescription

다음을 포함할 수 있습니다.

  • classLabels – 이미지 모델이 인식할 수 있는 이름의 배열입니다.

  • inputDescription – 모델이 기능에 대해 예상하는 입력을 각각 설명하는 대상체의 배열입니다. 이미지를 처리하는 모델의 경우, 일반적으로 하나의 입력만 있고 다음과 같은 키를 포함할 수 있습니다.

    • 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 )
)