littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于Python的TinyML创新工具包

项目简介

本项目是一个TinyML创新工具包,提供从数据处理到模型构建、优化及部署的一站式解决方案。工具包包含数据下载、清洗、模型生成、量化感知训练、模型剪枝和部署等功能。此外,项目还有多个案例研究,如海藻、水质检测等,可用于模型的量化感知训练、剪枝和部署。

项目的主要特性和功能

  1. 数据处理:支持从Sentinel 1、Sentinel 2、Land Sat等数据源下载数据并清洗。
  2. 模型构建network_builder.py可构建通用神经网络,通过Optuna超参数调优,寻找解决任意分类或回归问题的最小参数网络,包含GeneralNNRegressorGeneralNNClassifierCNNClassifier三个类。
  3. 模型优化:具备量化感知训练和模型剪枝功能,减少模型参数量。
  4. 模型转换与部署network_shrinker.py能将Keras模型转换为.tflite文件,便于在TinyML设备上部署,同时研究了不同TinyML设备的适用性。
  5. 案例研究:有海藻、水质检测等案例,以及新的卫星衍生水深数据和空间天气数据集,可用于模型训练和验证。

安装使用步骤

安装

假设用户已经下载了本项目的源码文件,可通过以下命令安装工具包: 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】