实现时,重写target的计算方法,注意张量的切片使用的是gather函数, 而不是迭代
# q_target = reward + gamma * max(q_next)
with tf.variable_scope('dd_q_target'):
a_ = tf.argmax(self.e_next, 1)
# 注意切片函数
q_ = tf.gather(self.q_next, a_ , axis=1)#其实默认axis=1
q_target = self.r + self.gamma * q_
self.q_target = tf.stop_gradient(q_target)
打印所有的Q值并且进行比较。