直接java调用tflite_使用tensorflow lite遇到的一些坑

尽管这里有tensorflow lite的详细

介绍,在实战中还是不免要踩一些坑。下面是我踩过的坑,记录下来,免得下次踩同样的坑)。

测试环境:

自己训练的模型。使用预训练的模型应该会更简单一些,不需要模型转换这个步骤。

Tensorflow 2.0.0-beta1

Android Studio 3.4.2

简单的回归预测案例

模型转换

试验了独立程序和训练后即时转换两种方式,最后觉得在训练模型后马上进行模型转换更方便,原因有两个:

在训练程序中,可以直接使用模型对象model进行模型的转换。

通常输入数据要进行标准化处理,而每次训练时所采用的数据集是不同的,导致标准化数据的mean和std会随之变化,因此需要将标准化数据的mean和std保存下来,以便传递给android app对输入数据进行同样的数据标准化处理。

上面的两个数据:转换后的模型和数据标准化基础数据都需要复制到Android app的assets目录下,因此在训练的程序中统一写一下更加方便,下面是我这边相应的代码:

# 模型训练完毕后转化模型converter = tf.lite.TFLiteConverter.from_keras_model(model)

tflite_model = converter.convert()

open("mymodel.tflite", "wb").write(tflite_model)

# 保存数据标准化相关数据(主要是mean和std)train_stats = train_dataset.describe()

trai

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值