認識イメージ機能の使用
Oracle Machine Learning Servicesでは、事前構築済のONNXイメージ・モデルを使用したイメージ分類およびイメージ特徴抽出という2つの認識イメージ機能がサポートされています。
これらの2つの機能の入力は、次の2つの方法で指定できます: 
                     
                  - 単一のイメージ・ファイルを入力としてアップロードします。この場合、アップロードされたイメージの同等のテンソル形式が、モデルの適切な前処理とともに生成されます。サポートされているイメージ・ファイル形式は次のとおりです:
                           - ビットマップ(.bmp)
- ポータブル・ビットマップ(.pbm)
- ポータブル・グレーマップ(.pgm)
- ポータブル・ピックスマップ(.ppm)
- Sunラスター・グラフィック(.sr)
- ラスター・グラフィック(.ras)
- Joint Photographic Expert Group (.jpeg、.jpg、.jpe、.jp2)
- タグ・イメージ・ファイル形式(.tiff, .tif)
- Portable Network Graphics (.png)
 
- ビットマップ
- スコアリング入力レコードのコレクションをアップロードします。ここでは、ONNXイメージ・モデルを使用したミニバッチ・スコアリングが<model_attribute_name, value/array>ペアを使用して実行されます。ここで、value/arrayは、base64文字列内のエンコードされたイメージ、または処理されたイメージ・ピクセル値を格納する4D配列のいずれかです。4D配列の形状は1x3x224x224である必要があります。
Linuxユーティリティ
                  jqを使用して、JSON出力を読取り可能な形式に解析します。jqユーティリティは、主要なLinux配布リポジトリのすべてに含まれています。Oracle LinuxおよびRed Hatシステムでは、次のコマンドを実行して、このユーティリティをインストールできます: $ sudo yum install jqノート:
cURLコマンドでjqを使用しても、HTTPレスポンスは返されません。HTTPレスポンスを返すには、jqコマンドを削除し、curlコマンドに-iフラグを追加します。
                     この項では、次の方法を示す例をリストします:
                     
               - モデル・エンドポイントのリストの取得
- イメージのtopNカテゴリとそれぞれの確率の取得
- 入力イメージの特徴抽出結果の取得
1: モデル・エンドポイントのリストの取得
この例では、モデル・エンドポイントのリストを取得する方法を示します。次のコマンドを実行して、モデル・エンドポイントのリストを取得します:
                  curl -X GET --header "Authorization: Bearer ${token}" "<oml-cloud-service-location-url>/omlmod/v1/cognitive-image"このコマンドは、次の詳細を返します。
{
    "items": [
        {
            "name": "classification",
            "description": "A cognitive image scoring endpoint that returns the classification of the images.",
            "links": [
                {
                    "rel": "classification",
                    "href": "http://adb.us-sanjose-1.oraclecloud.com/omlmod/v1/cognitive-image/classification"
                },
                {
                    "rel": "self",
                    "href": "http://adb.us-sanjose-1.oraclecloud.com/omlmod/v1/cognitive-image/."
                }
            ]
        },
        {
            "name": "feature-extraction",
            "description": "A cognitive image scoring endpoint that extracts features of the images.",
            "links": [
                {
                    "rel": "feature-extraction",
                    "href": "http://adb.us-sanjose-1.oraclecloud.com/omlmod/v1/cognitive-image/feature-extraction"
                },
                {
                    "rel": "self",
                    "href": "http://adb.us-sanjose-1.oraclecloud.com/omlmod/v1/cognitive-image/."
                }
            ]
        }
    ],
    "links": [
        {
            "rel": "self",
            "href": "http://adb.us-sanjose-1.oraclecloud.com/omlmod/v1/cognitive-image"
        }
    ]
}2: イメージの上位Nカテゴリの取得
この例では、cognitive-image/classificationエンドポイントにPOSTリクエストを送信して、.jpg形式のイメージの上位Nカテゴリを取得する方法を示します。この例は、入力イメージが属する各カテゴリの確率も返します。
                  
次のコマンドを実行して、イメージ
                  img.jpgが属している可能性のある上位4つのカテゴリと確率を取得します:curl -X POST --header "Authorization: Bearer $token" <oml-cloud-service-location-url>/omlmod/v1/cognitive-image/classification \
-F imageData=@img.jpg
-F topN=4この例の説明は、次のとおりです。
                     
                  - $tokenは、認可APIを介して取得されたトークンに割り当てられる環境変数です。
- img.pngは、イメージ・ファイルのパスです。この例では、写真には小さな犬が含まれています。
- 4は、モデルによって返される、対応する確率を持つ上位クラスの数です。
- topNは、分類エンドポイントのオプション・パラメータです。入力の一部としてこのパラメータを渡して、確率でソートされた各イメージについて返されるカテゴリの数を決定します。- topNは- >=0である必要があります。デフォルトでは、確率が最も高い上位- 5クラスが返されます。- topN=0の場合、ソートされていない分類出力リスト全体が返されます。
このコマンドは、上位4つのクラスをそれぞれの確率とともに返します。スコアリング結果は次のとおりです:
{
    "scoringResults": [
        {
            "classifications": [
                {
                    "label": "Dog",
                    "probability": 0.9995992183685303
                },
                {
                    "label": "Puppy",
                    "probability": 0.9975613355636597
                },
                {
                    "label": "Companion dog",
                    "probability": 0.997296154499054
                },
                {
                    "label": "Dog breed",
                    "probability": 0.9910918474197388
                }
            ]
        }
    ]
}3: イメージ特徴抽出結果の取得
この例では、cognitive-image/feature-extractionエンドポイントにPOSTリクエストを送信して、入力イメージのイメージ特徴抽出結果を取得する方法を示します。この機能では、スコアリングに事前構築済ONNXイメージ・モデルが使用されます。
                  
次のcURLコマンドを実行して、最も関連するキーワードを取得します:
curl -X POST --header "Authorization: Bearer $token" 
<oml-cloud-service-location-url>/omlmod/v1/cognitive-image/feature-extraction \
-F imageData=@img.pngこのコマンドは、すべての特徴の重みを返します。
{
    "scoringResults": [
        {
            "weights": [
                0.1776999,
                0.30117133,
                0.0,
                0.0,
                0.0,
                0.06017106,
                0.0,
                0.007070067,
                0.0,
                0.0,
                0.0
            ]
        }
    ]
}