'Train network using standard gradient descent.'

def train_step(self, sess, observations, internal_state, actions, rewards, terminated, pads, avg_episode_reward=0):

    outputs = [self.raw_loss, self.gradient_ops, self.summary]
    feed_dict = {self.internal_state: internal_state, self.rewards: rewards, self.terminated: terminated, self.pads: pads, self.avg_episode_reward: avg_episode_reward}
    for (action_place, action) in zip(self.actions, actions):
        feed_dict[action_place] = action
    for (obs_place, obs) in zip(self.observations, observations):
        feed_dict[obs_place] = obs
    return sess.run(outputs, feed_dict=feed_dict)
