命令行tensorflowjs_converter量化到TensorflowLite输出文件是否不小?

问题描述

我已使用这些命令行命令成功将TensorflowJS模型转换为TensorflowLite(适用于Arduino风格的微控制器)。

只要它们与model.json文件位于同一文件夹中,并且“ PATHS” json正确指向它的model.weights.bin文件即可。

注意:我先将tfjs转换为keras,然后将keras转换为tflite,再将tflite转换为c头文件。

pip install tf-nightly 
pip install tensorflowjs
pip install netron
        
tensorflowjs_converter --input_format=tfjs_layers_model --output_format=keras_saved_model ./model.json ./
    
tflite_convert --keras_model_file ./ --output_file ./model.tflite
    
xxd -i model.tflite model.h

我的输出是一个c头文件,看起来像这样

unsigned char model_tflite[] = {
  0x1c,0x00,0x54,0x46,0x4c,0x33,0x12,............
  0xfc,0xff,0x04,0x00
};
unsigned int model_tflite_len = 3048;

可以使用TinyML或Arduino版本的TensorflowLite将其加载到微控制器上

如果我尝试将量化设置为减小输出文件的大小(--quantize_uint8,-quantize_uint16,-quantize_float16),请在第一个命令中尝试以下操作:

tensorflowjs_converter --quantize_uint8 --input_format=tfjs_layers_model --output_format=keras_saved_model ./model.json ./

运行,但是当我查看最终的输出C头文件时,该文件的大小没有变化。有人有什么建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...