Notes for browser-based machine-learning, for projects like synestizer.
Run Keras models (trained using Tensorflow backend) in your browser, with GPU support. Models are created directly from the Keras JSON-format configuration file, using weights serialized directly from the corresponding HDF5 file.
Tensor operations are extended on top of the ndarray library. GPU support is powered by WebGL through weblas.
hardmaru presents an introduction to running sophisticated neural networks in the browser, targeted at artists
This looks genuinely amazing in terms of functionality and even includes native support for worker threads and concurrency. However… it is lacking modern web wrappings such as npm packaging etc, so is not convenient to use from e.g. webpack.
Twin to lalolib, a linear algebra library.
This library includes a few built-in architectures like multilayer perceptrons, multilayer long-short term memory networks (LSTM), liquid state machines or Hopfield networks, and a trainer capable of training any given network, which includes built-in training tasks/tests like solving an XOR, completing a Distracted Sequence Recall task or an Embedded Reber Grammar test, so you can easily test and compare the performance of different architectures.
- mindjs is a simple one where you can see the moving parts.