33. Final Project#
Important
To better reflect the concept of a minimum viable product (MVP) the following modification is in effect.
graph LR A((Development Board)) --> OR{OR} B((Transfer Learning)) --> OR OR -->O((MVP))
This is a more agile approach.
33.1. Objectives#
Demonstrate knowledge of how prediction and judgement together contribute to a decision and action, as presented in Prediction Machines.
Employ quantization to reduce model size and improve performance on an edge device.
Demonstrate knwoledge of dependency management while deploying a model.
Every project must:
Use some form of quantization. If quantization is built-in, determine what type it is and where it is built in.
Be pushed to a public GitHub repository
Include either a
Dockerfile
(if deploying with containerization), or arequirements.txt
if deploying with a Python virtual environment, or a Jupyter Notebook that outputs the byte model for TF Lite Micro on Arduino.Include a README that describes how to deploy and use the program and model.
33.2. Grading#
This final project is deliberately open ended, so invites the chance of failure!
No, wait! Instead we will have checkpoints with deliverables designed to help you win.
Each checkpoint will be submitted on Gradescope.
Project Plan#
Identify what problem you are trying to solve.
Discuss the problem in the context of prediction, judgement, and decision.
Elaborate on the steps of the engineering method/ ML Workflow that you will take to reach your goal.
Identify a class of models that you think will be helpful in achieving your end state.
Datasets and Models#
You must do one of the following
Use transfer learning or
Compare performance of several pre-canned models or
Use advanced quantization
If you will be conducting transfer learning, identify a dataset that fits your needs.
Identify at least one, but ideally multiple, base models that you will use.
Model Implementation#
Get the model working!
Model Application#
Wrap your working model with some logic that makes the results of the prediction available to the user. This should work towards the goal you described in the first checkpoint.
Final Demonstration#
Demonstrate your application to the class
Push code to GitHub