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イメージ・モデルをデプロイするには: