на входе у меня одномерный массив double features[10]
на выходе double output[5]
я понял что для запуска
на выходе double output[5]
я понял что для запуска
if(!OnnxRun(onnxHandle,ONNX_DEBUG_LOGS | ONNX_NO_CONVERSION,features,output))
этого не достаточно, надо преобразовать данные,
но ни как не пойму как это сделать.
Подскажите, пожалуйста, конкретным примером преобразования моих данных.
ну, кое чего добился, но теперь ошибка другая
я применил так
я применил так
double features[10]; // тут код заполнения массива double output[5]; Print("Попытка запуска ONNX с параметрами:"); Print("Handle: ", onnxHandle); Print("Flags: ", ONNX_DEBUG_LOGS | ONNX_COMMON_FOLDER); Print("Features size: ", ArraySize(features)); Print("Output size: ", ArraySize(output)); // Установка формы входного тензора const ulong shape_input[] = {1,10}; if (!OnnxSetInputShape(onnxHandle, 0, shape_input)) { Print("Ошибка установки формы входа: ", GetLastError()); return; } // Установка формы выходного тензора const ulong shape_output[] = {1,5}; if (!OnnxSetOutputShape(onnxHandle, 0, shape_output)) { Print("Ошибка установки формы выхода: ", GetLastError()); return; } if(!OnnxRun(onnxHandle, ONNX_DEBUG_LOGS , features, output)) { Print("OnnxRun failed, error ",GetLastError()); OnnxRelease(onnxHandle); onnxHandle = INVALID_HANDLE; return; }в питоне
target = np.select([buy_open, sell_open, buy_close, sell_close], [1, 2, 3, 4], default=0) if not deals_df.empty: time_index = pd.Series(df.index, index=df['time']) for _, deal in deals_df.iterrows(): open_idx = time_index.get(deal['open_time'], None) close_idx = time_index.get(deal['close_time'], None) if open_idx is not None: target[open_idx] = 1 if deal['type'] == 0 else 2 if close_idx is not None: target[close_idx] = 3 if deal['type'] == 0 else 4 return targetи такая ошибка
2025.06.06 00:06:24.987 Veles_II (EURUSD,M5) EURUSD. Загрузка скалера EURUSD_Veles_scaler.csv
2025.06.06 00:06:24.988 Veles_II (EURUSD,M5) EURUSD. Модель EURUSD_Veles загружена
2025.06.06 00:06:24.988 Veles_II (EURUSD,M5) Попытка запуска ONNX с параметрами:
2025.06.06 00:06:24.988 Veles_II (EURUSD,M5) Handle: 4991810408108539676
2025.06.06 00:06:24.988 Veles_II (EURUSD,M5) Flags: 20480
2025.06.06 00:06:24.988 Veles_II (EURUSD,M5) Features size: 10
2025.06.06 00:06:24.988 Veles_II (EURUSD,M5) Output size: 5
2025.06.06 00:06:24.988 Veles_II (EURUSD,M5) Ошибка установки формы выхода: 5808
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
т.е. мы передаем 3 параметра вместо 2
в документации описан именно такой вызов
Запуск модели ONNX на исполнение.
bool OnnxRun(
long onnx_handle, // хэндл сессии ONNX
ulong flags, // флаги, описывающие режим запуска
... // входные и выходные параметры модели
);
Параметры
onnx_handle
[in] Хэндл объекта сессии ONNX, созданный через OnnxCreate или OnnxCreateFromBuffer.
flags
[in] Флаги из ENUM_ONNX_FLAGS, описывающие режим запуска — ONNX_DEBUG_LOGS и ONNX_NO_CONVERSION.
...
[in] [out] Входные и выходные параметры модели.
В случае успешного выполнения возвращает true, иначе false. Для получения кода ошибки вызовите функцию GetLastError.
так в чем проблема?
если делаю вот такой вызов
не хочет компилироваться
Что делать?