TensorFlow - ackRow/SlouchyJS GitHub Wiki
Although deep learning could be done without using TensorFlow
, this 2 years old open source framework backed by Google is a guarantee of quality and performance
TensorFlow JS
TFJS allows the ordinary user to benefit from deep learning on his own computer
Privacy and Performance
Being able to delegate the machine learning process to each users using javascript has two main benefits
- Privacy
- Performance
Creating and Training the Neural Network on the Fly
Creating a Simple Convolutional Neural Network at each javascript run.
The CNN is initialised randomly to then be trained using pictures from the user's webcam.
The training is done in a few seconds (MacBook i5) and is usually fairly accurate using 10 epochs : ~75% Hyperparameters could be tuned to get better results.
However it seems unlikely that this simple CNN will ever capture the complexity of the human posture and relies too much on other factors (lightning or background colour) so it will never generalize.
Transfer Learning using Python
Python is still the preferred language for deep learning
Pre-Train Neural Network
SlouchyJS allows us to download our training data and trained neural network.
We can then use our dataset to train heavier neural network using Python Tensorflow for better performance.
Finally we just have to load the saved model in SlouchyJS
Transfer Learning
The most computation effective solution remains using transfer learning on existing pre-trained model especially object detection ones like Yolo