【MQL5】OnnxGetInputTypeInfo関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

OnnxGetInputTypeInfo関数の働き・役割

OnnxGetInputTypeInfo関数は、ONNX(Open Neural Network Exchange)モデルにおいて、指定されたインデックスに対応する入力パラメータの型情報を取得するための関数です。ONNXモデルの入力にはそれぞれ特定のデータ型が割り当てられており、この関数を使用することで、その型に関する詳細な情報を取得できます。取得された型情報は、モデルに入力するデータの形式を確認する際に役立ちます。

OnnxGetInputTypeInfo関数の引数について

bool  OnnxGetInputTypeInfo(
  long           onnx_handle, // ONNXセッションハンドル
  long           index,       // パラメータインデックス
  OnnxTypeInfo& typeinfo     // パラメータ型の記述
  );

OnnxGetInputTypeInfo関数は、次の形式で定義されています。

第1引数: onnx_handle
種類: long
説明: ONNXセッションオブジェクトを表すハンドルです。このハンドルOnnxCreate関数またはOnnxCreateFromBuffer関数で作成されます。このハンドルを使って、モデルの入力パラメータの型情報にアクセスします。

第2引数: index
種類: long
説明: 0から始まる入力パラメータのインデックスです。取得したい入力パラメータのインデックスを指定します。インデックスが範囲外の場合、エラーが発生する可能性があります。

第3引数: typeinfo
種類: OnnxTypeInfo構造体
説明: 出力として入力パラメータの型情報が格納されるOnnxTypeInfo構造体です。この構造体には、パラメータのデータ型や形状に関する情報が含まれます。

OnnxTypeInfo構造体について

OnnxTypeInfo構造体は、ONNXモデルの入力または出力パラメータの型を記述するために使用されます。この構造体は、入力や出力がどのようなデータ型を持っているかを表し、モデルに適切な形式のデータを渡すために重要な情報を提供します。OnnxTypeInfo構造体には、テンソル、マップ、シーケンスの3つの型が定義されており、実際に使用されるのはそのうち1つだけです。

ONNXモデルの入力としては、テンソル型(ONNX_TYPE_TENSOR)のみが使用でき、その場合はOnnxTypeInfo構造体のtensorフィールドに情報が格納されます。一方、他のフィールド(mapやsequence)は定義されず、値は格納されません。

OnnxTypeInfo構造体の各メンバの解説

type メンバ

typeメンバは、入力または出力パラメータの型を示すENUM_ONNX_TYPE型のフィールドです。このフィールドには、テンソル(ONNX_TYPE_TENSOR)、マップ(ONNX_TYPE_MAP)、シーケンス(ONNX_TYPE_SEQUENCE)のいずれかが格納されます。

  • ONNX_TYPE_TENSOR: テンソル型を表します。ONNXモデルの入力はこの型のみ対応しています。
  • ONNX_TYPE_MAP: マップ型を表します。
  • ONNX_TYPE_SEQUENCE: シーケンス型を表します。

tensor メンバ

tensorメンバは、テンソル型のパラメータに関する情報を記述するOnnxTensorTypeInfo構造体です。このフィールドには、入力パラメータがテンソルである場合、その型と形状が格納されます。テンソルは、ONNXモデルのデータの多次元配列を表すもので、通常は数値データが扱われます。

map メンバ

mapメンバは、マップ型のパラメータに関する情報を記述するOnnxMapTypeInfo構造体です。ONNXモデルの入力としてマップ型は使用できませんが、出力としてはマップ型が存在する可能性があります。

sequence メンバ

sequenceメンバは、シーケンス型のパラメータに関する情報を記述するOnnxSequenceTypeInfo構造体です。ONNXモデルの入力としてシーケンス型は使用できませんが、出力としてはシーケンス型が存在する可能性があります。

OnnxGetInputTypeInfo関数の戻り値について

OnnxGetInputTypeInfo関数の戻り値は、関数が成功したかどうかを示す真偽値です。

  • 成功した場合は true が返され、指定されたインデックスに対応する入力パラメータの型情報がOnnxTypeInfo構造体に格納されます。
  • 失敗した場合は false が返され、型情報の取得に失敗したことを意味します。この場合、詳細なエラー情報は GetLastError関数を使用して確認できます。

たとえば、無効なONNXセッションハンドルが渡された場合や、インデックスが範囲外である場合などのケースに、失敗する可能性があります。

タイトルとURLをコピーしました