この記事では機械学習で用いるONNXモデルの読み込み関数について説明します。
関数の説明
long OnnxCreate(
string filename, // ファイルパス
uint flags // モデル作成フラグ
);
Onnxファイルをリソースから読み込む場合はOnnxCreateFromBuffer関数を使用します。
戻り値
読込が成功した場合ハンドル
読み込みが失敗した場合INVALID_HANDLE
引数の説明
1.string filename
データフォルダ(TerminalInfoString(TERMINAL_DATA_PATH)\MQL5\ \Files\)内のOnnxファイルのファイル名を指定。
フラグとしてONNX_COMMON_FOLDERが指定されている場合はコモンデータフォルダ(TerminalInfoString(TERMINAL_COMMONDATA_PATH)\Files\)内のOnnxファイルのファイル名を指定。
2.uint flags
ONNX_DEFAULT:フラグを指定しない場合
ONNX_COMMON_FOLDER:Onnxファイルをデータフォルダではなく、コモンデータフォルダから読み込む場合に指定。

必ずONNX_COMMON_FOLDERを指定するようにしよう!
データフォルダを指定してしまうと、ストラテジーテスターではTesterフォルダのデータフォルダになってしまうんだ。このTesterフォルダのデータフォルダは毎回リセットされる仕様だから用途は限られるよ(‘Д’)
モデル読み後の流れ
1.入力形状の確認
OnnxSetInputShape関数
2.出力形状の確認
OnnxSetOutputShape関数
3.Onnxファイルの終了
OnnxRelease関数
Onnxファイルの終了をしないとメモリリークエラーの原因になるので注意
まとめ
Onnxファイルを外部フォルダから読み込む関数の解説をしました。必ずコモンフォルダから読み込むようにしてください。