def _validate_config(self):
    if (self.config['sgd_minibatch_size'] > self.config['train_batch_size']):
        raise ValueError('Minibatch size {} must be <= train batch size {}.'.format(self.config['sgd_minibatch_size'], self.config['train_batch_size']))
    if ((self.config['batch_mode'] == 'truncate_episodes') and (not self.config['use_gae'])):
        raise ValueError('Episode truncation is not supported without a value function. Consider setting batch_mode=complete_episodes.')
    if (self.config['multiagent']['policy_graphs'] and (not self.config['simple_optimizer'])):
        logger.info("In multi-agent mode, policies will be optimized sequentially by the multi-GPU optimizer. Consider setting simple_optimizer=True if this doesn't work for you.")
    if (not self.config['vf_share_layers']):
        logger.warning("FYI: By default, the value function will not share layers with the policy model ('vf_share_layers': False).")
def _validate_config(self):
    if (self.config['sgd_minibatch_size'] > self.config['train_batch_size']):
        raise ValueError('Minibatch size {} must be <= train batch size {}.'.format(self.config['sgd_minibatch_size'], self.config['train_batch_size']))
    if ((self.config['batch_mode'] == 'truncate_episodes') and (not self.config['use_gae'])):
        raise ValueError('Episode truncation is not supported without a value function. Consider setting batch_mode=complete_episodes.')
    if (self.config['multiagent']['policy_graphs'] and (not self.config['simple_optimizer'])):
        logger.info("In multi-agent mode, policies will be optimized sequentially by the multi-GPU optimizer. Consider setting simple_optimizer=True if this doesn't work for you.")
    if (not self.config['vf_share_layers']):
        logger.warning("FYI: By default, the value function will not share layers with the policy model ('vf_share_layers': False).")