小编Ant*_*eld的帖子

使用自定义签名 defs 保存 TF2 keras 模型

我有一个 Keras(顺序)模型,可以在 Tensorflow 1.13 中使用自定义签名定义保存,如下所示:

from tensorflow.saved_model.utils import build_tensor_info
from tensorflow.saved_model.signature_def_utils import predict_signature_def, build_signature_def

model = Sequential() // with some layers

builder = tf.saved_model.builder.SavedModelBuilder(export_path)

score_signature = predict_signature_def(
    inputs={'waveform': model.input},
    outputs={'scores': model.output})

metadata = build_signature_def(
    outputs={'other_variable': build_tensor_info(tf.constant(1234, dtype=tf.int64))})

with tf.Session() as sess:
  sess.run(tf.global_variables_initializer())
  builder.add_meta_graph_and_variables(
      sess=sess,
      tags=[tf.saved_model.tag_constants.SERVING],
      signature_def_map={'score': score_signature, 'metadata': metadata})
  builder.save()
Run Code Online (Sandbox Code Playgroud)

将模型迁移到 TF2 keras 很酷:),但我不知道如何使用与上述相同的签名来保存模型。我应该使用新的tf.saved_model.save()还是tf.keras.experimental.export_saved_model()?上面的代码在TF2中应该怎么写呢?

关键要求:

  • 该模型有一个分数签名和一个元数据签名
  • 元数据签名包含 1 个或多个常量

python keras tensorflow tensorflow2.0

10
推荐指数
1
解决办法
3745
查看次数

标签 统计

keras ×1

python ×1

tensorflow ×1

tensorflow2.0 ×1