gpt4 book ai didi

tensorflow2.0 - Tensorflow 2.0 : AttributeError: Tensor. 启用急切执行时名称无意义

转载 作者:行者123 更新时间:2023-12-04 01:10:44 24 4
gpt4 key购买 nike

在 tensorflow 2.0 中不断出现这些错误。这应该有效吗?

import tensorflow as tf
import numpy as np

x = tf.constant(3.0)
with tf.GradientTape() as t:
t.watch(x)
y = (x - 10) ** 2
opt = tf.optimizers.Adam()
opt.minimize(lambda: y, var_list=[x])

最佳答案

在磁带中,您只需计算前向传递,优化器和最小化定义不是前向传递的一部分,因此您必须远程处理它们。

另外,如果要使用优化器的minimize方法,不必使用tf.GradienTape对象,只需定义前向传递(损失计算)作为一个函数,然后优化器将为您创建磁带 + 最小化函数。

但是,由于您想使用常量而不是变量,因此您必须使用 tf.GradientTape 并手动计算损失值。

import tensorflow as tf

x = tf.constant(3.0)
with tf.GradientTape() as t:
t.watch(x)
y = (x - 10) ** 2
grads = t.gradient(y, [x])

当然你不能应用渐变

opt = tf.optimizers.Adam()
opt.apply_gradients(zip([y], [x]))

因为 x 不是可训练变量,而是常量(apply_gradients 调用会引发异常)

关于tensorflow2.0 - Tensorflow 2.0 : AttributeError: Tensor. 启用急切执行时名称无意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55552538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com