tensorflow2.0-将函数转化为图计算结构

tensorflow2.0-将函数转化为图计算结构

tf.function

tf.function()是一幢将函数转化为图计算结构的API,通常以装饰器形式使用。
这里需要有几个注意的点:
1.装饰的函数中,参数尽量为Tensor,且shape和dtype都相同,因为当不同的数据输出时,tf.function生成不一样的图计算结构。
2.装饰的函数中,尽量数用tf自带的数据操作方式,但支持for,in,while,break等控制关键字。
3.装饰的函数中,不建议使用 tf.Variable创建变量。
下来具体看看,其中的常用的参数input_signature的用法:

@tf.function(
	# input_signature 限制了f函数传入的数据类型,将tf.TensorSpec规定的类型
	# 都当作的一种类型,从而创建一个相同的图计算结构
    input_signature=[tf.TensorSpec(shape=None, dtype=tf.float32)]
    ) 
def f(x): 
  return x + 1 
vector = tf.constant([1.0, 1.0]) 
matrix = tf.constant([[3.0]]) 
f.get_concrete_function(vector) is f.get_concrete_function(matrix) 
# True

你可能感兴趣的:(Tensorflow)