import tensorflow as tf

        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))

    def build_perception(self):
        self._obs = tf.expand_dims(self.obs, -1)  # !
        self._obs = tf.expand_dims(self._obs, -1)  # !
        conv1 = tf.layers.conv2d(inputs=self._obs,
                                 filters=16,
                                 kernel_size=[2, 1],  # ! kernel_size = [8,8]
                                 activation=tf.nn.elu,
                                 strides=1)  # ! strides = 4
