Советники: Пример использования ONNX-модели для распознавания нарисованных цифр

 

Пример использования ONNX-модели для распознавания нарисованных цифр:

Этот советник не торгует. Простейшая панель, реализованная при помощи стандартной библиотеки Canvas, позволяет рисовать мышкой цифры. Распознавание рисунков производится при помощи обученной модели mnist.onnx.

Пример использования ONNX-модели для распознавания нарисованных цифр

Автор: Slava

 
Я так понимаю, в трейдинге это поможет определять графические фигуры способом, отличным от паттернов ZZ, что может даже улучшить качество найденных фигур.
 
С интересом посмотрел Canvas-реализацию, спасибо. Правильно ли понимаю, что вычислительная сложность данной ONNX-модели для распознавания образа равна вычислительной сложности обучения, деленной на количество обучающих выборок?
 

ну, ... 9ки хуже распознает

это не важно, т.к. цена по кругу не ходит ;)

линейные цифры распознает и это очень хорошо

может пригодиться для классификации паттернов

 

value 7 predicted with probability 0.9998406767845154
Модель очень быстрая - OnnxRun выполняется за 100 микросекунд.
 
fxsaber #:
Правильно ли понимаю, что вычислительная сложность данной ONNX-модели для распознавания образа равна вычислительной сложности обучения, деленной на количество обучающих выборок?

И ещё делённая примерно на 2. В процессе обучения кроме форварда, вызывается функция обратного распространения ошибки (back propagation).

Примерно на 2, потому что функция активации и функция производной от функции активации могут иметь разную вычислительную сложность

 
Slava #:

И ещё делённая примерно на 2. В процессе обучения кроме форварда, вызывается функция обратного распространения ошибки (back propagation).

Примерно на 2, потому что функция активации и функция производной от функции активации могут иметь разную вычислительную сложность

Получается, что даже на одном ядре обучение длилось меньше 10-ти секунд. Как-то очень быстро.

Интересно, какое количество весов в модели. Наверное, это много примитивней нейросетей перемещения простейших организмов.

 
fxsaber #:

Получается, что даже на одном ядре обучение длилось меньше 10-ти секунд. Как-то очень быстро.

Интересно, какое количество весов в модели. Наверное, это много примитивней нейросетей перемещения простейших организмов.

Быстро, потому что модель - примитивная. Ещё надо иметь в виду, что обучение призводится не за один раз. Как минимум 15 эпох, каждый раз перемешивая 60 тыс картинок. Так что, действительно очень быстро.

Количество весов между слоями -  это произведение размеров слоёв. Информацию о слоях mnist.onnx можно посмотреть в нетроне

Причина обращения: