Version 0.46.1-191 Note: works on Chrome or Edge for Mac, Android (pixel Phones) or Windows, only on Edge for Linux
tinyMLjs
This website makes Machine Learning models from microcontroller sensors using Javascript then uploaded to the microcontroller using Gitpod, RocksettaTinyML and The Arduino IDE.
Presently for complex Camera or Sound data use EdgeImpulse.com as the needed compression is at a much better level.
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: ----------- Load .csv files:
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:
...
Convert Model to Arduino: Github or direct load: Gitpod
Once you have made a mode.h file. then install this deprecated but I am working on getting a replacement Arduino Library https://github.com/hpssjellis/RocksettaTinyML based on EloquentArduino to load the code onto your Arduino
...
Enter Labels (comma seperated):
...
Label:
CSV FileName:
...
Aruino NiclaVision webSerial code that can be adapted for other microcontrollers
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.
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"
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.
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.