我正在tensorflow中实现DeepMind的DQN算法,在我调用optimizer.minimize(self.loss)
的行中遇到了这个错误:
ValueError: No gradients provided for any variable...
通过阅读其他关于这个错误的帖子,我发现这意味着损失函数不依赖于用来建立模型的任何张量,但是在我的代码中我看不出这是怎么回事。qloss()
函数显然依赖于对predict()
函数的调用,该函数依赖于所有层张量来进行计算。在
The model setup code can be viewed here
Tags:
我发现问题是,在我的
qloss()
函数中,我从张量中提取值,对它们进行操作并返回值。虽然这些值确实依赖于张量,但它们本身并不是张量,因此TensorFlow无法判断它们是否依赖于图中的张量。在我通过更改
qloss()
来修复这个问题,这样它就可以直接对张量进行操作并返回一个张量。新功能如下:相关问题 更多 >
编程相关推荐