项目简介
本项目是一个TinyML创新工具包,提供从数据处理到模型构建、优化及部署的一站式解决方案。工具包包含数据下载、清洗、模型生成、量化感知训练、模型剪枝和部署等功能。此外,项目还有多个案例研究,如海藻、水质检测等,可用于模型的量化感知训练、剪枝和部署。
项目的主要特性和功能
- 数据处理:支持从Sentinel 1、Sentinel 2、Land Sat等数据源下载数据并清洗。
- 模型构建:
network_builder.py
可构建通用神经网络,通过Optuna超参数调优,寻找解决任意分类或回归问题的最小参数网络,包含GeneralNNRegressor
、GeneralNNClassifier
和CNNClassifier
三个类。 - 模型优化:具备量化感知训练和模型剪枝功能,减少模型参数量。
- 模型转换与部署:
network_shrinker.py
能将Keras模型转换为.tflite文件,便于在TinyML设备上部署,同时研究了不同TinyML设备的适用性。 - 案例研究:有海藻、水质检测等案例,以及新的卫星衍生水深数据和空间天气数据集,可用于模型训练和验证。
安装使用步骤
安装
假设用户已经下载了本项目的源码文件,可通过以下命令安装工具包:
bash
使用
在Python脚本中导入工具包:
python
import tinymltoolkit
模型构建示例
以下是使用GeneralNNRegressor
类构建模型的示例代码:
```python
from tinymltoolkit.network_builder import GeneralNNRegressor
import numpy as np
X = np.random.rand(100, 10) y = np.random.rand(100)
model = GeneralNNRegressor(X, y)
best_model = model.get_best_trained_model() ```
模型转换示例
使用network_shrinker.py
文件中的功能将Keras模型转换为.tflite文件,具体代码可参考该文件的实现。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】