ONNX形式モデルのデプロイ
Open Neural Network Exchange (ONNX)は、機械学習モデルのオープン・スタンダードな形式です。Oracle Machine Learning ServicesのREST APIを使用することで、ONNX形式モデルをデプロイし、スコアリングできます。REST APIは、Oracle Autonomous Databaseクラウド・サービス上のOracle Machine Learning Servicesの一部として公開されます。
ノート:
Oracle Machine Learning Servicesでは、ONNX Runtime 1.11.1をサポートしています。サポートされる機能
- デプロイ済モデルの格納、削除およびリスト
- モデルのメタデータおよびコンテンツの取得
- ネームスペースでのモデルの編成
- モデル・エンドポイントの作成、削除およびリスト
- モデル・エンドポイントのSwaggerドキュメントの取得
- モデルの詳細の取得
- エンドポイント詳細の取得
- モデル・エンドポイントを使用したスコアリング
サポートされる機械学習モデル
- 分類モデル(イメージ以外のモデルとイメージ・モデルの両方)
- クラスタリング・モデル(イメージ以外のモデル)
- 特徴抽出モデル(イメージ・モデル)
- 回帰モデル(イメージ以外のモデル)
前提条件
- modelName.onnxファイル、- metadata.jsonファイルおよび- label.txt(オプション)ファイルを含むONNXモデルzipファイルを作成します。
- 「metadata.jsonファイルの内容と説明」の表に示されているように、metadata.jsonファイルに次のものが含まれていることを確認します。
ノート:
ONNX形式モデルの仕様の詳細は、ONNX形式モデルの仕様を参照してください表 - metadata.jsonファイルの内容と説明
                        
| フィールド名 | データ型 | 説明 | 必須/オプション | 例 | 
|---|---|---|---|---|
| 
 | String | モデルのマイニング機能。値 大/小文字は区別されません | 必須 | 
 | 
| 
 | String | 距離を格納するクラスタリング・モデル出力の名前。 大/小文字は区別されます | 次のいずれかを指定する必要があります。 
                                        
 ノート:両方を指定することはできません。 | 
 | 
| 
 | String | 確率を格納するクラスタリング・モデル出力の名前。 大/小文字は区別されます | 次のいずれかを指定する必要があります。 
                                        
 ノート:両方を指定することはできません。 | 
 | 
| 
 | String | 回帰結果を格納する回帰モデル出力の名前。出力は、値の型が 大/小文字は区別されます | 
 | 
 | 
| 
 | String | ラベル結果を格納する分類モデル出力の名前。出力はテンソルであることが必要です。 大/小文字は区別されます | 
 分類モデルのその他の場合:
                                        
 | 
 | 
| 
 | String | 確率を格納する分類モデル出力の名前。出力は次のいずれかである必要があります。
                                        
 大/小文字は区別されます | 
 | 
 | 
| featureExtractionOutput | String | 特徴を格納するONNXイメージ・モデル出力の名前。出力は、値の型が 大/小文字は区別されます。 | 
 | 
 | 
| 
 ONNXイメージ・モデルの場合のみ | String | 入力テンソルでの各ディメンションの意味を指定します。ディメンション名には 大/小文字は区別されます。小文字のみ使用します。 | 
 | 
 | 
| 
 ONNXイメージ・モデルの場合のみ | Integer | 前処理用にイメージの高さを指定します。 | 
 | 
 | 
| 
 ONNXイメージ・モデルの場合のみ | Integer | 前処理用にイメージの幅を指定します。 | 
 | 
 | 
| 
 ONNXイメージ・モデルの場合のみ | Integer | 前処理用にイメージのチャネル番号を指定します。 | 
 | 
 | 
| 
 ONNXイメージ・モデルの場合のみ | Float[] | 正規化のためのR、G、B (赤、緑、青)チャネルの平均値を指定します。 | 
 | 
 | 
| 
 ONNXイメージ・モデルの場合のみ | Float[] | 正規化のためのR、G、B (赤、緑、青)チャネルのスケール値を指定します。 | 
 | 
 | 
| 
 ONNXイメージ・モデルの場合のみ | String | 前処理用にチャネル順序を指定します。現在は、3つのチャネル・イメージのみがサポートされています。値は"RGB"または"BGR"のいずれかです。 大/小文字は区別されません。 | 
 | 
 | 
ONNX回帰モデルのスコアリング
ステップ3からステップ6では、ONNX回帰モデルをスコアリングするステップを示します。
ONNXイメージ・モデルのスコアリング
ステップ7からステップ10では、ONNXイメージ・モデルをデプロイする例を示します。イメージ・モデルは、イメージ・データを使用するモデルです。
ONNXイメージ・モデルは、次の2つの方法でスコアリングできます。- 単一のイメージ・ファイルを入力としてアップロードします。この場合、アップロードされたイメージの同等のテンソル形式が、モデルの適切な前処理とともに生成されます。
- スコアリング入力レコードのコレクションをアップロードします(ONNXイメージ以外のモデルに類似しています)。ここでは、ONNXイメージ・モデルを使用したミニ・バッチ・スコアリングが<model_attribute_name, value/array>ペアを使用して実行されます。ここで、value/arrayは、base64文字列内のエンコードされたイメージ、または処理されたイメージ・ピクセル値を格納する多次元配列のいずれかです。サポートされているONNXイメージ・モデルには、1または-1のいずれかのテンソル・バッチ・サイズが必要です。
ONNXイメージ・モデルをデプロイするには: