Is this supposed to recognize a single digit? For me it can recognize only half of the digits correctly. What is the use case for sich a low-precision image recognition?
Judging by the fact the page gives no information about the model used but says it's "compiled on-the-fly to WebAssembly by loop_tool.js", I assume it's intended as a demo of loop_tool.js, not the model. It can't be a demo of MNIST itself. That's just a dataset, presumably used to train this model.
It is trained on the mnist dataset, to have it recognize a digit you have to make sure the digit is sized roughly to fill the entire screen. It won't work if you draw a small digit in the corner. This is just a demo of the toolchain, it doesn't showcase any state of the art image recognition.
The code is compiled with Ecmascripten and the WASM binary is injected as part of the JS module. Since the downloading, processing and compiling is happening on the browser, it seems to be a reasonable time.
However, to avoid blocking the main thread, I would run all this process in a worker. Not sure if there's any limitation there
22 comments
[ 0.14 ms ] story [ 1321 ms ] threadHowever, to avoid blocking the main thread, I would run all this process in a worker. Not sure if there's any limitation there
Cool demo nontheless!
I don't hold the in browser POC at fault for the trained model (but am amused by the efficacy of the model).
Any good libraries, tools, or resources?
In particular, the interface between WASM and WebGL: https://github.com/speps/tt/blob/master/web/tt.js#L45
WASM is really quite straightforward in my opinion, export a C interface and link it with whatever you need from the browser APIs.