This is awesome! Can you describe how you implemented the WebGL ops a bit more? Did you have to write your own convolution kernel with GLSL for example?
What sort of performance can be expected compared to running in the terminal? How large NNs will this scale to in practice? I see a 50-layer resnet is mentioned; but not 1000-layers?
This is awesome. We're trying to do something similar but moving in the opposite direction language-wise by implementing the models in C++:<p><a href="https://github.com/dguest/lwtnn" rel="nofollow">https://github.com/dguest/lwtnn</a><p>The idea is to have something lightweight that we can easily copy into our analysis framework (which is written in C++).<p>If anyone reading this knows of a library that already does this it could save us some time.
Wonderful! And because all praise comes with work in OSS: I wish the network diagram would show intermediate states where possible. I've seen some examples where – with the right presentations – they gave fantastic insights into the network's "thinking".
Very cool. Didn't work on Android (Chrome) either in GPU or CPU mode.<p>Usual tricks like pruning the model and quantising to 8bit should get the model sizes down significantly from 100mb. Or using an architecture like squeezenet