Modelos ONNX en el aprendizaje automático

ONNX (Open Neural Network Exchange) es una biblioteca de código abierto para construir redes neuronales de aprendizaje profundo. Este proyecto tiene algunas ventajas importantes:.

  • El soporte para ONNX se realiza a través de grandes compañías como Microsoft, Facebook, Amazon y otros socios..
  • El formato abierto permite convertir formatos entre diferentes herramientas de aprendizaje automático, ONNXMLTools de Microsoft permite convertir modelos al formato ONNX..
  • MQL5 posibilta la conversión automática de los datos de entrada y salida del modelo si el tipo de parámetro transmitido no coincide con el modelo.
  • Es posible crear modelos ONNX con una gran variedad de herramientas de aprendizaje automático, actualmente tienen soporte en Caffe2, Microsoft Cognitive Toolkit, MXNet, PyTorch y OpenCV, y también hay interfaces para muchos otros frameworks y bibliotecas populares.
  • El lenguaje MQL5 permite implementar el modelo ONNX en una estrategia comercial y usar todas las ventajas de la plataforma MetaTrader 5 para trabajar de forma eficiente en los mercados financieros.
  • Antes de iniciar el modelo en operaciones reales, puede probar el modelo con datos históricos en el simulador de estrategias sin utilizar herramientas de terceros.

Para trabajar con ONNX, MQL5 ofrece las siguientes funciones:

Función

Acción

OnnxCreate

Crea una sesión de ONNX cargando el modelo desde un archivo *.onnx

OnnxCreateFromBuffer

Crea una sesión de ONNX cargando el modelo desde un array de datos

OnnxRelease

Eliminar sesión ONNX

OnnxRun

Iniciar un modelo ONNX para su ejecución

OnnxGetInputCount

Obtener el número de parámetros de entrada del modelo ONNX

OnnxGetOutputCount

Obtener el número de parámetros de salida del modelo ONNX

OnnxGetInputName

Obtener el nombre del parámetro de entrada del modelo según el índice

OnnxGetOutputName

Obtener el nombre de un parámetro de salida del modelo según el índice

OnnxGetInputTypeInfo

Obtener la descripción del tipo de parámetro de entrada del modelo

OnnxGetOutputTypeInfo

Obtener la descripción del tipo de parámetro de salida del modelo

OnnxSetInputShape

Establece la dimensionalidad de los datos de entrada del modelo según el índice

OnnxSetOutputShape

Establece la dimensionalidad de los datos de salida del modelo según el índice