Version 0.36.7-154 Note: works on Chrome or Edge for Mac, Android (pixel Phones) or Windows, only on Edge for Linux

tinyMLjs

Upload from a raw CSV file or an Arduino style microcontroller using webSerial (Android Pixel phones also work) or your cell phone motion sensor. Keep the raw sensor data then Machine Learning train a tensorflowJS model for export or for live classification all on this single vanilla Javascript webpage!

Show: ------------ Hide: -----------
Following is the list of actual labels used in the same order as uploaded (comma-separated) Note: expecting files to be named: "name-lable.csv" or "name-lable (1).csv" etc.

CSV Lables (careful):
Senses Labels (careful):

Machine Learning models often need very specific data.
Count CSV: Count Senses: Count Total:
Number of Samples/count: Number of Senses/sample:


Enter number of epochs: , Learning rate:

...
...



...









...


Arduino Nano33BleSense webSerial code that can be adapted for other microcontrollers

The "fancy" Arduino sketch is on the github here https://github.com/hpssjellis/tinyMLjs/blob/main/public/acceleration/a00-accell-nano33-fancy.txt


Use at your own risk!
By Jeremy Ellis @rocksetta
Github at https://github.com/hpssjellis/tinyMLjs/tree/main
Demo's Index at https://hpssjellis.github.io/tinyMLjs/public/index.html
This page should be at https://hpssjellis.github.io/tinyMLjs/public/acceleration/a00-best-acceleration.html

    A couple of gotchas (as of Jun 22, 2023):

  1. File names have to be in the format "name-lable.csv" or "name-lable (1).csv" or "name-lable (2).csv" etc. Unfortunately Android and iPhone don't auto make the numbering for you.
  2. Android and Apple device have an opposite orientation, so I have made negative all the android motion data so when your phone is on a table z = -9.8 m/s^2 etc. When looking veritacally at your phone y = -9.8 m/s^2. The auto detect of this only works if an Android phone is in mobile format not "desktop site"
  3. Real data has lots of rough data, machine learning models do not like missing data. If your results show "NaN" either your training data or classification data has errors. Note: If the loss is not changing your trained data probably has errors. The "clean,trim,fill" buttons might help.
  4. Presently a CSV label upload bug happens sometimes. Easy to fix by entering the correct labels in the correct order. I will try to fix the issue when I figure out what is causing it.