import tensorflow as tf

    def build_placeholders(self):
        # standard for all policies
        self.obs = tf.placeholder(tf.float32, [None,
                                               self.obs_space])  # ! self.obs = tf.placeholder(tf.float32, [None] + list(self.obs_space))
        # ! self.obs_space = env.observation_space.shape
        self.r = tf.placeholder(tf.float32, (None,1))
        self.ac = tf.placeholder(tf.float32, (None, self.act_space))
        self.adv = tf.placeholder(tf.float32, [None])  # unused

        # specific to FeUdal
        self.prev_g = tf.placeholder(tf.float32, (None, None, self.g_dim))
        self.ri = tf.placeholder(tf.float32, (None,))
        self.s_diff = tf.placeholder(tf.float32, (None, self.g_dim))

