def learn(self, s, r, s_):
s, s_ = s[np.newaxis, :], s_[np.newaxis, :]
v_ = self.sess.run(self.v, {self.s: s_})
td_error, _ = self.sess.run([self.td_error, self.train_op],
{self.s: s, self.v_: v_, self.r: r})
return td_error
代码步入:
v_ = self.sess.run(self.v, {self.s: s_})
输出变量给变量赋值:v_
输出变量:self.v
中间变量:L1
中间使用的函数/方法:tf.layers.dense (用了两次)
输入变量:self.s《------- s (输入)
with tf.variable_scope('squared_TD_error'):
self.td_error = tf.reduce_mean(self.r + GAMMA * self.v_ - self.v)
self.loss = tf.square(self.td_error) # TD_error = (r+gamma*V_next) - V_eval
with tf.variable_scope('train'):
self.train_op = tf.train.AdamOptimizer(lr).minimize(self.loss)
self.td_error :
self.train_op:
输出变量:self.td_error 和 self.train_op
中间变量:self.loss
中间使用的函数/方法:tf.reduce_mean(), tf.square(), tf.train.AdamOptimizer(lr).minimize()
输入变量:self.s , self.v_, self.r 《===== s, v_, r (输入)
常量输入:GAMMA,lr