作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 TensorFlow 2.0(目前仍为 alpha 版本)中,我知道您可以使用装饰器 @tf.function
将纯 Python 代码转换为图形。我是否必须每次都将 @tf.function
放在每个函数的顶部? @tf.function
是否仅考虑以下功能 block ?
最佳答案
@tf.function
将 Python 函数转换为其图形表示。
要遵循的模式是定义训练步骤函数,这是计算量最大的函数,并使用 @tf.function
对其进行修饰。
通常,代码如下所示:
#model,loss, and optimizer defined previously
@tf.function
def train_step(features, labels):
with tf.GradientTape() as tape:
predictions = model(features)
loss_value = loss(labels, predictions)
gradients = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(gradients, model.trainable_variables))
return loss_value
for features, labels in dataset:
lv = train_step(features, label)
print("loss: ", lv)
关于python - TensorFlow 2.0 : do you need a @tf. 每个函数之上的函数装饰器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55149026/
我是一名优秀的程序员,十分优秀!