from learner import Learner
from models import MlpPolicy, MlpValueFn

hparams = utils.Hyperparameters(
    max_updates=50,
    policy_hidden_dims=128,
    value_fn_hidden_dims=128,
    batch_size=32,
    gamma=0.99,
    rho_bar=1.0,
    c_bar=1.0,
    # policy_lr=1e-3,
    # value_fn_lr=1e-3,
    lr=1e-3,
    policy_loss_c=1,
    v_loss_c=0.5,
    entropy_c=0.0006,
    max_timesteps=1000,
    queue_lim=8,
    max_norm=10,
    n_actors=1,
    env_name="CartPole-v1",  # "RacecarBulletEnv-v0",
    log_path="./logs/",
    save_every=50,
    eval_every=2,
    eval_eps=20,
    verbose=1,
    render=False,
)

if __name__ == "__main__":
Example #2
0
    metrics_string = " ; ".join("{}: {:05.3f}".format(k, v)
                                for k, v in metrics_mean.items())
    logging.info("- Eval metrics : " + metrics_string)
    return metrics_mean, loss


if __name__ == '__main__':
    """
        Evaluate the model on the test set.
    """
    # Load the parameters
    args = parser.parse_args()
    json_path = os.path.join(args.model_dir, 'params.json')
    assert os.path.isfile(
        json_path), "No json configuration file found at {}".format(json_path)
    params = utils.Hyperparameters(json_path)

    # use GPU if available
    params.cuda = torch.cuda.is_available()  # use GPU is available

    # Set the random seed for reproducible experiments
    torch.manual_seed(230)
    if params.cuda: torch.cuda.manual_seed(230)

    # Get the logger
    utils.set_logger(os.path.join(args.model_dir, 'evaluate.log'))

    # Create the input data pipeline
    logging.info("Creating the dataset...")

    # fetch dataloaders
                json.dump(json_params, outfile)

            if os.path.isfile(os.path.join(figures_dir, subdir + '.jpg')):
                continue
            cmd = "{python} train.py {} {} {} --bottleneck --model_dir={model_dir} --data_dir {data_dir}".format(
                row['model'],
                row['dataset'],
                row['loss_fn'],
                python=PYTHON,
                model_dir=exp_dir,
                data_dir='data')

            print(cmd)
            check_call(cmd, shell=True)

            params = utils.Hyperparameters(os.path.join(exp_dir, 'params.json'))
            params.cuda = torch.cuda.is_available()
            torch.manual_seed(230)
            if params.cuda:
                torch.cuda.manual_seed(230)
            utils.set_logger(os.path.join(exp_dir, 'lg.log'))
            logging.info("Loading the datasets...")

            # fetch dataloaders
            test_dl = data_loader.fetch_test_dataloader(row['dataset'], 'data', params)

            logging.info("- done.")
            choices = {
                'linear': LinearRegression().cuda() if params.cuda else LinearRegression(bottleneck=True),
                'mlp': MLP(bottleneck=True).cuda() if params.cuda else MLP(bottleneck=True),
                'cnn': CNN(bottleneck=True).cuda() if params.cuda else CNN(bottleneck=True)