I Modelli ONNX nell'Apprendimento Automatico

ONNX (Open Neural Network Exchange) è un formato open source per i modelli di apprendimento automatico. Questo progetto presenta diversi vantaggi:

  • ONNX è supportato da grandi aziende come Microsoft, Facebook, Amazon e altri partner.
  • Il suo formato aperto consente le conversioni di formato tra diversi kit di strumenti di apprendimento automatico, mentre Microsoft ONNXMLTools permette di convertire i modelli nel formato ONNX.
  • MQL5 fornisce la conversione automatica del tipo di dati per gli ingressi e le uscite del modello se il tipo di parametro passato non corrisponde al modello.
  • I modelli ONNX possono essere creati utilizzando vari strumenti di apprendimento automatico. Attualmente sono supportati in Caffe2, Microsoft Cognitive Toolkit, MXNet, PyTorch e OpenCV. Sono disponibili anche interfacce per altri framework e librerie popolari.
  • Con il linguaggio MQL5, è possibile implementare un modello ONNX in una strategia di trading e utilizzarlo insieme a tutti i vantaggi della piattaforma MetaTrader 5 per operazioni efficienti nei mercati finanziari.
  • Prima di mettere a punto un modello per il trading dal vivo, puoi testare il comportamento del modello sui dati storici nello Strategy Tester, senza utilizzare strumenti di terze parti.

MQL5 fornisce le seguenti funzioni per lavorare con ONNX:

Funzione

Azione

OnnxCreate

Crea una sessione ONNX, caricando un modello da un file *.onnx

OnnxCreateFromBuffer

Crea una sessione ONNX, caricando un modello da un array di dati

OnnxRelease

Chiude una sessione ONNX

OnnxRun

Esegue un modello ONNX

OnnxGetInputCount

Ottiene il numero di ingressi in un modello ONNX

OnnxGetOutputCount

Ottiene il numero di uscite in un modello ONNX

OnnxGetInputName

Ottiene il nome dell'ingresso di un modello tramite indice

OnnxGetOutputName

Ottiene il nome dell'uscita di un modello tramite indice

OnnxGetInputTypeInfo

Ottiene la descrizione del tipo di ingresso dal modello

OnnxGetOutputTypeInfo

Ottiene la descrizione del tipo di uscita dal modello

OnnxSetInputShape

Imposta la dimensione dei dati d'ingresso di un modello tramite indice

OnnxSetOutputShape

Imposta la dimensione dei dati di uscita di un modello tramite indice