TensorflowLite 模型转为Metadata format -----图片分类模型

本文介绍了如何将TensorflowLite模型转换为Metadata格式以便于在手机端部署。关键步骤包括使用`image_classifier.MetadataWriter`和`writer_utils`进行转换,并调整输入归一化参数(input_norm_mean和input_norm_std)以匹配训练数据。对于regression模型,标签文件只需包含任意数字。同时,注意标签.txt文件的格式,对于分类问题,每行应写入一个类别名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果想把TensorflowLite模型在手机端部署,需要把模型转换成为Metadata 格式。

代码如下:

from tflite_support.metadata_writers import image_classifier
from tflite_support.metadata_writers import writer_utils

# 这里的label 一定要注意 如果是regression 问题 一定要把label 改成一行
ImageClassifierWriter = image_classifier.MetadataWriter
model_path ="已经训练好的模型.tflite"
label_file = "labels.txt"# 模型输出对应标签 
save_path ="metadata_V1.tflite"
input_norm_mean = 0
input_norm_std = 255
writer = ImageClassifierWriter.create_for_inference(
                                                    writer_utils.load_file(model_path),
                                                    [input_norm_mean],
                                                    [input_norm_std],
                                                    [label_file])


print(writer.get_metadata_json())

writer_utils.save_file(writer.populate(),save_path)

其中,注意事项

(1)input_norm_mean,input_norm_std 根据训练图片的归一化方式更改

原始公式为 (读取的图片像素【0,255】-input_norm_mean)/input_norm_std

(2)labels.txt

如果是regression 模型,就在lable.txt 随便写一个数字就行,只是为了编译通过,我们不会实际使用。

如果是具体类别,lable.txt 可以是

类别1(实际类别名字,一行写一个,前面不需要标号)

类别2

类别3

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值