- Project has been determined to not be deployable to MCU in current form and I have to step away.
- I am leaving these here just for archival purposes.
-
Check out the plan.md file to see the goals at a larger bird's eye view.
- Each set of Todos that I leave myself will be loosely tied to a goal from plan.md.
- There is likely to be some bleed between these goals, as things are rarely built completely linearly. I will try to place these smaller to-dos as tasks of sub-goals where it makes sense. However, I want to also keep a trail of my process that is honest.
- Get UV setup for python and workflow scripts
- Setup pre-commit hooks
- Search for models to work off of (GTCRN)
- setup datasets for offline evaluation
- Test PyTorch Converters
- Setup datasets for training
- Setup basic .sh scripts/makefile
- Scope out datasheets for
$I^{2}S$ Protocol - Setup offline evaluation metrics in /python
- Reimplement model replacing GRUs and for TFLM
- Make model adjustments to comply with Torch
$\rightarrow$ ONNX$\rightarrow$ TFLite$\rightarrow$ TFLM - Fix parameter replacement for JSON
- Train new model
- Setup Streaming converter for chosen architecture
- Test and report performance for streaming model in PyTorch and ONNX format
-
Create QAT training setup to run on HPC - Add examples of how to run the model in main README
- Convert PyTorch Adjusted model with TFLite Micro using PTQ
- Report results of streaming TFLite model
- Report measure of # of params and MMACs, ensure can fit on-device or adjust
- Profile and measure accuracy of quanitzed model
NOTE: Subject to change to only MCU dependent on time
- Setup build toolchain for ESP32-S3 deployment
- Setup
$I^2S$ for ESP32 - Write SE inference program in C for MCU using
.tflitemodel - Get performance for both models in terms of Latency, Power Consumption, Accuracy
- Reimplement model for Cube AI supported Ops
- Test out STM32 Cube AI conversion
- Train new model (once shapes are confirmed)
- Setup Streaming converter for chosen architecture
-
Create QAT training setup to run on HPC - Add examples of how to run the model in main README
- Export trained model with CubeAI
- [] Report measure of # of params and MMACs, ensure can fit on-device or adjust
- Profile and measure accuracy of quanitzed model
- Setup build for STM32
- Setup
$I^2S$ for STM32 - Write SE inference program in C for MCU
- Get performance for both models in terms of Latency, Power Consumption, Accuracy