Origami-Cloudless-AI / TinyMLaaS-2023-winter

Run Hello World of TensorFlow Lite for micro automatically in Docker
https://Origami-TinyML.github.io/tflm_hello_world
Apache License 2.0
1 stars 2 forks source link

WebApp trains a Hello model #37

Open doyu opened 1 year ago

doyu commented 1 year ago

Image

Steps

  1. You'll train a model in Jupyter notebook, named "training.ipynb", as instructed in TensorFlow lite for micro site
  2. "training.ipynb" should have some tests and documents, which would be processed by nbdev_* commands, https://nbdev.fast.ai/getting_started.html
  3. nbdev will convert "training.ipynb" to "training.py" automatically.
  4. You'll import "training.py" in "tflm_hello_world/pages/4_Training.py" as a library
  5. You'll implement GUI for this training in Streamlit toolkit - You'll list, search, choose a dataset in a csv file via Pandas dataframe, implemented a simple streamlit UI.
    • Trigger training
    • Show the result

Hello is just a dummy use case. You won't need any fancy UI for now. This is just a preparation for the coming real use case.

This is the destination page, https://doyu-tflm-hello-world-tinymlaas-yaz40u.streamlit.app/Training

This may be similar to https://github.com/doyu/uoh-software-project-time-report/

ArttuLe commented 1 year ago

Should I still make this for the hello world sine wave, since I started doing the human detection accidentally? :D

doyu commented 1 year ago

This really depends on a milestone (i.e. demo day). In your case, its 3rd March, where basically you would demonstrate TinyMLaaS end-to-end. If all planned items in Sprint 2 is done, human detection should work end-to-end, which could be a cool demo :D If it doesn't meet that, you couldn't demonstrate end-to-end of human detection but you need some Plan B. This should be discussed within a team. It's a trade-off of project management. If you aim too far, you'll fail. If you aim too near, you miss potential. At least, you need an agreement from a team to see if they could work for that target or not. Please agree on a team how to proceed! Let me know the result, then.

Of course, we (Origami) also have some milestone on 3rd of March, where we'll demonstrate too. we also want a working cool human detection end-to-end demo there. The theme of this project is, "Seamless TinyML lifecycle management".

doyu commented 1 year ago

Probably I misunderstood your original question above;;^^)

Yes, you should skip hello and continue the version of human detection now ;)

doyu commented 1 year ago

You may want the progress bar while training:

Image

ArttuLe commented 1 year ago

Yeah, it was also mentioned by the others. I could look into it when polishing the UI of the training section.

ArttuLe commented 1 year ago

Also, I have to ensure that the quantized model is working properly. Either the performance is just poor or it isn't working properly, as it was recognizing every picture as "human" regardless of the class, while the non-quantized model was performing correctly. 🤔