code: def _define_experience(self, agent_indices, observ, action, reward):
      
      update_filters = tf.summary.merge([
          self._observ_filter.update(observ),
          self._reward_filter.update(reward)])
      with tf.control_dependencies([update_filters]):
        if self._config.train_on_agent_action:
          # NOTE: Doesn't seem to change much.
          action = self._last_action
        policy = tools.nested.map(
            lambda x: tf.gather(x, agent_indices), self._last_policy)
        batch = (observ, action, policy, reward)
        append = self._current_episodes.append(batch, agent_indices)
      with tf.control_dependencies([append]):
        norm_observ = self._observ_filter.transform(observ)
        norm_reward = tf.reduce_mean(self._reward_filter.transform(reward))
        # pylint: disable=g-long-lambda
        summary = tf.cond(self._should_log, lambda: tf.summary.merge([
            update_filters,
            self._observ_filter.summary(),
            self._reward_filter.summary(),
            tf.summary.scalar('memory_size', self._num_finished_episodes),
            tf.summary.histogram('normalized_observ', norm_observ),
            tf.summary.histogram('action', self._last_action),
            tf.summary.scalar('normalized_reward', norm_reward)]), str)
        return summary
docs: Implement the branch of experience() entered during training.