def __init__(self, D_obs, hidden_sizes=[64, 64]):
        '''
            Constructor for PPO critic network
            Args: 
                D_obs: observation space dimension, scalar
                hidden_sizes: list of fully connected dimension
        '''
        super(PPO_CriticNetwork, self).__init__()
        # assumes D_obs here is the correct RNN hidden dim if necessary

        xp_input = L.Placeholder((None, D_obs))
        xp = L.Linear(hidden_sizes[0])(xp_input)
        xp = L.ReLU()(xp)
        xp = L.Linear(hidden_sizes[1])(xp)
        xp = L.ReLU()(xp)
        xp = L.Linear(1)(xp)

        self.model = L.Functional(inputs=xp_input, outputs=xp)
        self.model.build((None, D_obs))

            Constructor for PPO critic network
            Args: 
                D_obs: observation space dimension, scalar
                hidden_sizes: list of fully connected dimension
        
surreal/model/model_builders/builders.py