35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# OpenMV Classification Training
|
|
|
|
This repository contains a Jupyter notebook that demonstrates how to perform post-training integer quantization on machine learning models. This technique is particularly useful for reducing model size and improving inference speed, especially on low-power devices like the [OpenMV](https://openmv.io) camera.
|
|
|
|
## Features
|
|
|
|
- **Post-training Integer Quantization**: Optimize a model by converting 32-bit floating-point numbers to 8-bit fixed-point numbers.
|
|
- **Low-Power Device Compatibility**: The notebook is tailored for devices with limited computational resources, such as the OpenMV camera.
|
|
- **Efficient Model Deployment**: The techniques demonstrated ensure smaller model sizes and faster inference.
|
|
|
|
## Getting Started
|
|
|
|
### Setup
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://github.com/thelocker98/openmv-classification-training.git
|
|
cd openmv-classification-training
|
|
```
|
|
3. Run the notebook using Jupyter
|
|
```bash
|
|
jupyter lab
|
|
```
|
|
|
|
## How to Use
|
|
- **Open the Notebook**: Launch the notebook and execute all code cells in sequence.
|
|
- **Use Your Own Images**: Follow the steps outlined in the notebook to use your own images for training or testing.
|
|
- **Deploy the Model**:
|
|
- Copy the quantized model from the `models` folder and load it onto the OpenMV camera.
|
|
- Transfer the `boot.py` and `labels.txt` files from the `OpenMV code` folder to the camera.
|
|
- Unplug and reconnect the camera to automatically run the model.
|
|
|
|
## References
|
|
- [OpenMV Camera](https://openmv.io)
|
|
- [Google post on model quantization](https://ai.google.dev/edge/litert/models/post_training_integer_quant) |