python signature函数-tensorflow2.0的函数签名与图结构(推荐)

input_signature的好处:

1.可以限定函数的输入类型,以防止调用函数时调错,

2.一个函数有了input_signature之后,在tensorflow里边才可以保存成savedmodel。在保存成savedmodel的过程中,需要使用get_concrete_function函数把一个tf.function标注的普通的python函数变成带有图定义的函数。

下面的代码具体体现了input_signature可以限定函数的输入类型这一作用。

@tf.function(input_signature=[tf.TensorSpec([None], tf.int32, name="x")])

def cube(z): #实现输入的立方

return tf.pow(z, 3)

try:

print(cube(tf.constant([1., 2., 3.])))

except ValueError as ex:

print(ex)

print(cube(tf.constant([1, 2, 3])))

输出:

Python inputs incompatible with input_signature:

inputs: (

tf.Tensor([1. 2. 3.], shape=(3,), dtype=float32))

input_signature: (

TensorSpec(shape=(None,), dtype=tf.int32, name="x"))

tf.Tensor([ 1 8 27], shape=(3,), dtype=int32)

get_concrete_function的使用

note:首先说明࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值