EA: 使用ONNX模型识别手写数字的示例

 

使用ONNX模型识别手写数字的示例:

此EA不用于交易。使用标准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。在学习过程中,除了前向函数外,还调用了反向传播函数。

约除以 2,因为激活函数和激活函数的导函数可能具有不同的计算复杂度

事实证明,即使在一个内核上,训练时间也不到 10 秒。这似乎真的很快。

我想知道模型中的权重是多少。它可能比移动最简单生物的神经网络还要原始得多。

 
fxsaber #:

结果发现,即使在单核上,训练也只持续了不到 10 秒钟。这是相当快的。

我想知道模型中有多少个权重。它可能比移动最简单生物的神经网络还要原始得多。

之所以快,是因为模型很原始。你还必须记住,训练不是一次性完成的。至少要经过 15 次训练,每次要洗 60,000 张图片。所以速度真的非常快。

层与层之间的权重数是层大小的乘积。有关 mnist.onnx 层的信息,请参见 netrona。