keras2tensorflow

keras模型文件转化为tensorflow的pb文件,然后java调用

from keras.models import load_model
from keras import backend as K
from keras.models import model_from_config
import tensorflow as tf



model = load_model('models/keras_model_name.model')


def saveKerasModelAsProtobuf(model, outputPath):
    tensor_info_x = tf.saved_model.utils.build_tensor_info(model.input)
    tensor_info_y = tf.saved_model.utils.build_tensor_info(model.output)

    signature = tf.saved_model.signature_def_utils.build_signature_def(
    inputs={'input_1': tensor_info_x}, outputs={'softmax_1': tensor_info_y},
        method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME)

    legacy_init_op = tf.group(tf.tables_initializer(), name='legacy_init_op')
    builder = tf.saved_model.builder.SavedModelBuilder(outputPath)
    builder.add_meta_graph_and_variables(
    sess=K.get_session(),
    tags=[tf.saved_model.tag_constants.SERVING],
    # tags=['serving_default'],
    signature_def_map={
      tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
      signature
    },
        legacy_init_op=legacy_init_op
    )

    builder.save()
    print(signature)

    return

saveKerasModelAsProtobuf(model, 'models/model—0507')


https://www.jianshu.com/p/ed3195a4eb87
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值