11 comments

[ 2.7 ms ] story [ 35.7 ms ] thread
I created a collaborative list of interactive Machine Learning, Deep Learning and Statistics websites: https://github.com/stared/interactive-machine-learning-list

It is in an early stage, so you are invited to add more websites, or even more - style it (right now it is a bit web 1.0: http://p.migdal.pl/interactive-machine-learning-list/).

Nice. Thanks for adding this to the list. We certainly need more visualizations of this stuff. I'll make pr to this in future visualizations I make. I'm working on one now that shows the evolution of an autoencoder's reconstructions as it is trained on MNIST.
I really never thought I would see Machine Learning projects written in Javascript. When I first heard about tensorflow.js I was surprised but it's probably going to be big.
Before Numpy, I had never expected to see high performance numerical computing done in Python.
It's a blurry line, as with TensorFlow the heavy lifting is done in C/C++ with a python/JS wrapper. The issue becomes efficient data management in the language itself, which arguably is why numpy turned virtually into a parallel language.
I've been looking into re-implementing my Loss.jpg detector in TensorFlow.js, but I'm a little concerned with the speed achievable in the Chrome sandbox. Loading the linked page on my laptop was tremendously slow and shot my CPU up to 100%.

Is it safe to assume this is entirely due to the app doing training in the browser, while inference should have significantly lower requirements?

The poor performance here isn't due to TensorFlow.js itself. It has to do with how I'm updating the DOM with the colors as the network is being trained. I could make a few tweaks here to get a dramatic improvement in performance.

You are also correct that it would be even less resource intensive if we just served the model instead of training it in the browser.

You should try what you are thinking of doing. I think you will be pleasantly surprised at how well it does.