Conseguí la conversión a modelos ONNX para LightGBM en python 3.10 y 3.11, con los paquetes onnxmltools y onnxconverter_common. La salida sólo funcionó en python 3.10 con el paquete onnxruntime, que no se ajustó en 3.11. Tal vez algo ha cambiado en las últimas tres semanas.
Lástima que ME5 no soporte el lanzador python py.
Qué cambiar, qué números en qué rango insertar, etc. Trabajo mecánico, por favor
instrumento/marco temporal y fechas en copy_rates_range, número de precios de cierre de entrada para la previsión (aquí time_step = 120 y input_shape=(120,1) en model.add(Conv1D)), - en este caso se trata del número de precios de cierre horarios en los que se basa la siguiente previsión de precios.
la propia arquitectura de los modelos, por ejemplo
model = Sequential() model.add(LSTM(units = 50, return_sequences = True, input_shape = (time_step, 1))) model.add(Dropout(0.2)) model.add(LSTM(units = 50, return_sequences = True)) model.add(Dropout(0.2)) model.add(LSTM(units = 50, return_sequences = True)) model.add(Dropout(0.2)) model.add(LSTM(units = 50)) model.add(Dropout(0.2)) model.add(Dense(units = 1)) model.compile(optimizer='adam',loss= 'mse',metrics=[rmse()])
los parámetros del EA
input double InpLots = 1.0; // Importe de los lotes para abrir la posición input bool InpUseStops = true; // Utilizar stops en las operaciones input int InpTakeProfit = 500; // Nivel de TakeProfit input int InpStopLoss = 500; // Nivel StopLoss
el propio algoritmo de negociación, etc.
instrumento/marco temporal y fechas en copy_rates_range, el número de precios de cierre de entrada para la previsión (aquí time_step = 120 y input_shape=(120,1) en model.add(Conv1D)) en el EA cambia
la arquitectura de los propios modelos, por ejemplo
Parámetros de EA
el propio algoritmo de negociación, etc.
Gracias
instrumento/marco temporal y fechas en copy_rates_range, el número de precios de cierre de entrada para la previsión (aquí time_step = 120 y input_shape=(120,1) en model.add(Conv1D)) en el EA cambia
la arquitectura de los propios modelos, por ejemplo
Parámetros de EA
el propio algoritmo de negociación, etc.
¿Podría decirme dónde tirar estos archivos? (Los he descargado desde el sitio, y no hay instalador, sólo los archivos en una carpeta).
Los cálculos de GPU se realizaron en una tarjeta gráfica NVIDIA GeForce RTX 2080 Ti utilizando las librerías ... y CUDNN 8.1.0.7.
Por favor, ¿podría decirme dónde tirar estos archivos? (Los descargué del sitio, y no hay instalador, sólo archivos en una carpeta).
Hay un video Setting Up CUDA, CUDNN, Keras, and TensorFlow on Windows 11 for GPU Deep Learning sobre cómo instalarlos
En el 1er comentario del vídeo, ten en cuenta que necesitas especificar explícitamente la versión 2.10.0 de tensorflow.
- 2022.01.05
- www.youtube.com
Hay un video Configuración de CUDA, CUDNN, Keras y TensorFlow en Windows 11 para GPU Deep Learning sobre cómo instalarlos
¡Ya está!
¿Podría decirme por favor dónde experimentar aquí?
Qué cambiar, qué números en qué rango insertar, etc. Trabajo mecánico, por favor
No tiene sentido experimentar ahí, porque tal previsión no difiere de una ingenua (se toma como previsión el valor del precio de cierre anterior). En este caso, realmente se obtiene casi el menor error de aprendizaje (RMS), lo que no dice nada sobre la capacidad de predicción del modelo. Se trata más bien de un ejemplo didáctico sobre ONNX de que incluso una arquitectura compleja puede trasladarse fácilmente al terminal. No sé qué estaban fumando los autores de ese artículo sobre la investigación de arquitecturas de redes neuronales para la predicción de series temporales :) aquí o se necesita una estimación adecuada, o clasificación en lugar de regresión.
Opciones de métricas para experimentos
- Pablo Cánovas
- medium.com
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Uso de modelos ONNX en MQL5:
ONNX (Open Neural Network Exchange) es un estándar abierto para representar modelos de redes neuronales. En este artículo, analizaremos el proceso de creación de un modelo CNN-LSTM para pronosticar series temporales financieras, y también el uso del modelo ONNX creado en un asesor experto MQL5.
Hay dos formas de crear un modelo: OnnxCreate para crear un modelo a partir de un archivo onnx y OnnxCreateFromBuffer para crearlo a partir de un array de datos.
Si el modelo ONNX se utiliza como recurso en un asesor, este deberá recompilarse tras cada cambio.
No todos los modelos tienen tamaños de tensor de entrada y/o salida totalmente definidos. Como norma general, la primera dimensionalidad es responsable del tamaño del paquete. Antes de iniciar el modelo, deberán especificarse explícitamente las dimensiones que se van a utilizar. Para ello, se necesitarán las funciones OnnxSetInputShape y OnnxSetOutputShape.
Los datos de entrada del modelo deberán prepararse del mismo modo en que se usaron para entrenar el modelo.
Autor: MetaQuotes