Modèles ONNX en Apprentissage Automatique

ONNX (Open Neural Network Exchange) est un format open-source pour les modèles de machine learning. Ce projet a plusieurs avantages majeurs :

  • ONNX est pris en charge par de grandes entreprises telles que Microsoft, Facebook, Amazon et d'autres partenaires.
  • Son format ouvert permet les conversions de format entre différentes boîtes à outils d'apprentissage automatique, et Microsoft ONNXMLTools permet de convertir des modèles au format ONNX.
  • MQL5 fournit la conversion automatique des types de données pour les entrées et les sorties du modèle si le type de paramètre passé ne correspond pas au modèle.
  • Les modèles ONNX peuvent être créés à l'aide de divers outils d'apprentissage automatique. Ils sont actuellement pris en charge dans Caffe2, Microsoft Cognitive Toolkit, MXNet, PyTorch et OpenCV. Des interfaces pour d'autres frameworks et bibliothèques populaires sont également disponibles.
  • Avec le langage MQL5, vous pouvez implémenter un modèle ONNX dans une stratégie de trading et l'utiliser avec tous les avantages de la plateforme MetaTrader 5 pour des opérations efficaces dans le marchés financiers.
  • Avant de régler un modèle pour le trading en direct, vous pouvez tester le comportement du modèle sur des données historiques dans le testeur de stratégie, sans utiliser d'outils tiers.

MQL5 fournit les fonctions suivantes pour travailler avec ONNX :

Fonction

Action

OnnxCreate

Crée une session ONNX en chargeant un modèle à partir d'un fichier *.onnx

OnnxCreateFromBuffer

Crée une session ONNX en chargeant un modèle à partir d'un tableau de données

OnnxRelease

Ferme une session ONNX

OnnxRun

Exécute un modèle ONNX

OnnxGetInputCount

Retourne le nombre d'entrées dans un modèle ONNX

OnnxGetOutputCount

Retourne le nombre de sorties dans un modèle ONNX

OnnxGetInputName

Retourne le nom de l'entrée d'un modèle par index

OnnxGetOutputName

Retourne le nom de la sortie d'un modèle par index

OnnxGetInputTypeInfo

Retourne la description du type d'entrée à partir du modèle

OnnxGetOutputTypeInfo

Retourne la description du type de sortie du modèle

OnnxSetInputShape

Définit la forme des données d'entrée d'un modèle par index

OnnxSetOutputShape

Définit la forme des données de sortie d'un modèle par index