code: def create_vector_input(self, name='vector_observation'):
          
          self.vector_in = tf.placeholder(shape=[None, self.vec_obs_size], dtype=tf.float32,
                                          name=name)
          if self.normalize:
              self.running_mean = tf.get_variable("running_mean", [self.vec_obs_size],
                                                  trainable=False, dtype=tf.float32,
                                                  initializer=tf.zeros_initializer())
              self.running_variance = tf.get_variable("running_variance", [self.vec_obs_size],
                                                      trainable=False,
                                                      dtype=tf.float32,
                                                      initializer=tf.ones_initializer())
              self.update_mean, self.update_variance = self.create_normalizer_update(self.vector_in)
  
              self.normalized_state = tf.clip_by_value((self.vector_in - self.running_mean) / tf.sqrt(
                  self.running_variance / (tf.cast(self.global_step, tf.float32) + 1)), -5, 5,
                                                       name="normalized_state")
              return self.normalized_state
          else:
              return self.vector_in
docs: Creates ops for vector observation input.
          :param name: Name of the placeholder op.
          :param vec_obs_size: Size of stacked vector observation.
          :return: