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__":
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)