機械学習におけるONNXモデル

ONNX (Open Neural Network Exchange)は、機械学習モデルのオープンソース形式です。このプロジェクトにはいくつかの大きな利点があります。

  • ONNXは、Microsoft、Facebook、Amazonなどの大企業やその他のパートナーによってサポートされています。
  • そのオープン形式により、異なる機械学習ツールキット間の形式変換が可能になります。また、Microsoftの ONNXMLTools では、モデルを ONNX形式に変換できます。
  • MQL5は、渡されたパラメータの型がモデルと一致しない場合に、モデルの入力と出力に対して自動データ型変換を提供します。
  • ONNXモデルは、さまざまな機械学習ツールを使用して作成できます。これらは現在、Caffe2、Microsoft Cognitive Toolkit、MXNet、PyTorch、OpenCVでサポートされています。他の一般的なフレームワークやライブラリのインターフェイスも利用できます。
  • MQL5言語を使用すると、取引戦略でONNXモデルを実装できます。それをMetaTrader 5プラットフォームのすべての利点とともに使用して、金融市場で効率的な運用を実現できます。
  • ライブ取引用にモデルを調整する前に、サードパーティツールを使用せずに、ストラテジーテスターの履歴データでモデルの動作をテストできます。

MQL5は、ONNXを操作するために次の関数を備えています。

関数

アクション

OnnxCreate

ONNXセッションを作成し、*.onnxファイルからモデルを読み込みます

OnnxCreateFromBuffer

ONNXセッションを作成し、データ配列からモデルを読み込みます

OnnxRelease

ONNXセッションを閉じます

OnnxRun

ONNXモデルを実行します

OnnxGetInputCount

ONNXモデルの入力数を取得します

OnnxGetOutputCount

ONNXモデルの出力数を取得します

OnnxGetInputName

インデックスによってモデルの入力の名前を取得します

OnnxGetOutputName

インデックスによってモデルの出力の名前を取得します

OnnxGetInputTypeInfo

モデルから入力型の説明を取得します

OnnxGetOutputTypeInfo

モデルから出力型の説明を取得します

OnnxSetInputShape

インデックスによってモデルの入力データの形状を設定します

OnnxSetOutputShape

インデックスによってモデルの出力データの形状を設定します