java调用keras离线训练的图片识别模型进行在线预测

目前深度学习主要使用Python训练自己的模型,其中Keras提供了heigh-level语法,后端可采用Tensorflow或者Theano。

但是在实际应用时,大多数公司仍是使用java作为应用系统后台。于是便有了Python离线训练模型,Java调用模型实现在线预测。

Java调用Keras模型有两种方案,一种是基于Java的深度学习库DL4J导入Keras模型,另外一种是利用Tensorflow的java接口调用。DL4J目前暂不支持嵌套模型的导入,下面仅介绍第二种方案。

想要利用Tensorflow的java接口调用Keras模型,就需要将Keras保存的模型文件(.h5)转换为Tensorflow的模型文件(.pb)。

GitHub 已经有大神写了一个转换工具可以很方便的将Keras模型转Tensorflow模型,你只需要输入原模型文件的位置 和 目标模型文件的位置即可。

Keras的模型可以通过model.save() 方法保存为一个单独的模型文件(model.h5),此模型文件包含网络结构和权重参数。

此种模型可通过以下代码将Keras模型转换为Tensorflow模型:

python keras_to_tensorflow.py 
    --input_model="path/to/keras/model.h5" 
    --output_model="path/to/save/model.pb"

Keras的模型也可以通过 model.to_json() model.save_weight()  来分开保存模型的结构(model.json)和 权重参数(weights.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chaos jin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值