Experts: Example of using an ONNX model to recognize handwritten numbers

 

Example of using an ONNX model to recognize handwritten numbers:

This Expert Advisor does not trade. A simple panel, implemented using the standard Canvas library, allows you to draw digits with the mouse. The trained mnist.onnx model is used to recognize the digits.

Example of using an ONNX model to recognize handwritten numbers

Author: Slava

 
I understand that in trading it will help to identify chart patterns in a way different from ZZ patterns, which may even improve the quality of the patterns found.
 
I looked at the Canvas realisation with interest, thanks. Is it correct that the computational complexity of this ONNX model for image recognition is equal to the computational complexity of training divided by the number of training samples?
 

Well. 9s are less recognisable

it doesn't matter, because the price doesn't go round and round ;)

It recognises linear digits and that's very good.

may be useful for pattern classification

 

value 7 predicted with probability 0.9998406767845154
The model is very fast - OnnxRun is executed in 100 microseconds.
 
fxsaber #:
Is it correct that the computational complexity of this ONNX model for image recognition is equal to the computational complexity of training divided by the number of training samples?

Also divided by about 2. During the training process, in addition to the forward function, the back propagation function (back propagation) is called.

Approximately by 2, because the activation function and the derivative function of the activation function can have different computational complexity

 
Slava #:

Also divided by approximately 2. In the learning process, in addition to the forward, the back propagation function is called.

Approximately by 2, because the activation function and the derivative function of the activation function may have different computational complexity

It turns out that even on one core the training lasted less than 10 seconds. That seems really fast.

I wonder what the number of weights in the model is. It's probably a lot more primitive than the neural networks of moving the simplest organisms.

 
fxsaber #:

It turns out that even on a single core, the training lasted less than 10 seconds. That's pretty fast.

I wonder how many weights are in the model. It's probably a lot more primitive than the neural networks of moving the simplest organisms.

It's fast because the model is primitive. You also have to bear in mind that the training is not done in one go. At least 15 epochs, each time shuffling 60,000 pictures. So it's really very fast.

The number of weights between layers is the product of the layer sizes. Information about mnist.onnx layers can be found in netrona