我使用tf.saved_model.save
和tf.saved_model.load
来保存和加载TF2 SavedModel。根据this link,我创建了一个签名,这个签名是serving_default
。然后我尝试在类Adder
中添加一个新的带有签名装饰器的函数。但是在根据this加载模型之后,我发现签名在模型中消失了,即print(adder1.signatures)
没有打印签名名称。我找不到有关如何在保存模型时使用多个签名的任何信息。有人能给我提供一些信息吗?多谢各位
Tensorflow2.1.0
,在谷歌Colab上。代码如下所示:
import tensorflow as tf
import tensorflow_hub as hub
import numpy as np
import os
import pandas as pd
class Adder(tf.Module):
@tf.function(input_signature=[tf.TensorSpec(shape=None, dtype=tf.float32), tf.TensorSpec(shape=None, dtype=tf.float32)])#
def add(self, x, y):
return x + y ** 2 + 1
@tf.function(input_signature=[tf.TensorSpec(shape=None, dtype=tf.float32)])
def square(self, x):
return x ** 2
to_export = Adder()
tf.saved_model.save(
to_export,
'/tmp/adder'
)
adder1 = tf.saved_model.load("/tmp/adder")
print(adder1.signatures)
adder1_sig = adder1.signatures["serving_default"]
adder1_sig(x = tf.constant(1.), y = tf.constant(2.))
目前没有回答
相关问题 更多 >
编程相关推荐