TensorFlow 函数与图的深入解析
在机器学习领域,TensorFlow 作为一个强大的开源库,其函数和图的运用对于构建高效、可扩展的模型至关重要。本文将深入探讨 TensorFlow 函数的多个关键方面,包括输入签名的限制、自动图(AutoGraph)对控制流的捕获、变量和资源的处理,以及如何在 tf.keras 中使用 TF 函数。
1. 限制 TF 函数的输入签名
在某些情况下,我们可能希望将 TF 函数限制为特定的输入签名。例如,假设我们知道只会使用 28×28 像素的图像批次调用 TF 函数,但批次大小会有很大差异。我们可能不希望 TensorFlow 为每个批次大小生成不同的具体函数,或者依赖它自行确定何时使用 None。在这种情况下,可以按如下方式指定输入签名:
import tensorflow as tf
@tf.function(input_signature=[tf.TensorSpec([None, 28, 28], tf.float32)])
def shrink(images):
return images[:, ::2, ::2] # 丢弃一半的行和列
这个 TF 函数将接受任何形状为 [*, 28, 28] 的 float32 张量,并且每次都会重用相同的具体函数:
img_batch_1 = tf.random.uniform(shape=[100, 28, 28])
img_batch_2 = tf.random.uniform(shape=[50
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



