Python 当执行MSE函数时,Tensor.name没有意义
我正在完成Tensorflow 2.0中的一些练习,以确保我正确理解了基础知识。我当前的任务是使用keras优化器用MSE函数拟合回归。 但是,当我尝试运行下面的代码时,会出现以下错误: AttributeError:Tensor.name在启用“急切执行”时没有意义。您可以直接在下面找到代码: 我已经能够将这种框架用于其他一些更简单的数值实验问题,但这似乎有问题。有人能就如何解决这个问题提出建议吗Python 当执行MSE函数时,Tensor.name没有意义,python,tensorflow,keras,Python,Tensorflow,Keras,我正在完成Tensorflow 2.0中的一些练习,以确保我正确理解了基础知识。我当前的任务是使用keras优化器用MSE函数拟合回归。 但是,当我尝试运行下面的代码时,会出现以下错误: AttributeError:Tensor.name在启用“急切执行”时没有意义。您可以直接在下面找到代码: 我已经能够将这种框架用于其他一些更简单的数值实验问题,但这似乎有问题。有人能就如何解决这个问题提出建议吗 Python版本:3.8.5 numpy版本:1.18.5 熊猫版本:1.1.3 Tensor
- Python版本:3.8.5
- numpy版本:1.18.5
- 熊猫版本:1.1.3
- TensorFlow版本:2.3.1
我检查了一下实现中是否有任何东西可以阻止它被区分开来,但是现在我没有看到任何东西超过tf.abs调用(已删除;问题仍然存在)。您可以按照错误指示执行操作。删除该名称
output = tf.Variable(tf.tensordot(X, weights, axes=1 ),name = "output" )
换成
output = tf.Variable(tf.tensordot(X, weights, axes=1 ) )
你实际上并没有在任何地方引用它,所以为什么要费心给它命名呢
*******************更新*****************
我没有时间运行您的代码,但您现在遇到的错误是因为丢失函数和变量之间没有路径
这条线错了
output = tf.Variable(tf.tensordot(X, weights, axes=1 ),name = "output" )
为什么要在mse函数中创建变量?你应该有
output = tf.tensordot(X, weights, axes=1 )
这条线打破了您的成本和变量之间的路径谢谢您的建议!我确实按照你的建议做了,但是当我进行更改时,我在下面得到了这个错误:>ValueError:没有为任何变量提供渐变:['variable:0']。我检查了一下实现中是否有任何东西可以阻止它被区分,但是现在我没有看到任何东西超过tf.abs调用(已删除;问题仍然存在)。我更新了我的答案。代码中还有另一个问题,你成功了!再次感谢你在这方面的帮助。我很高兴它奏效了!非常感谢。
output = tf.tensordot(X, weights, axes=1 )