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

本文介绍了在TensorFlow 2.0中`input_signature`的作用,强调了它可以限定函数输入类型并允许保存为SavedModel。通过示例展示了`@tf.function`与`get_concrete_function`的使用,解释了如何将Python函数转换为带有图定义的ConcreteFunction,并探讨了图结构中的操作节点和属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:首先说明࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值