X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=main.py;h=1b0d39a004436466724e13144599102e4e96b3a3;hb=e6a0ef14db49f98a2b9c1b1a1be2a98af62c4919;hp=63e66680fe37126b2b9ead3847a0b44cf179eb40;hpb=c9dbc3abf436df8af1379d04ab51159e821496f1;p=picoclvr.git diff --git a/main.py b/main.py index 63e6668..1b0d39a 100755 --- a/main.py +++ b/main.py @@ -5,9 +5,6 @@ # Written by Francois Fleuret -# torch.backends.cuda.matmul.allow_tf23 -# torch.autocast(torch.bfloat16) - import math, sys, argparse, time, tqdm, os import torch, torchvision @@ -82,7 +79,20 @@ parser.add_argument("--overwrite_results", action="store_true", default=False) parser.add_argument("--checkpoint_name", type=str, default="checkpoint.pth") ############################## -# picoclvr options +# rpl options + +parser.add_argument("--rpl_nb_starting_values", type=int, default=5) + +parser.add_argument("--rpl_max_input", type=int, default=9) + +parser.add_argument("--rpl_prog_len", type=int, default=10) + +parser.add_argument("--rpl_nb_runs", type=int, default=8) + +parser.add_argument("--rpl_no_prog", action="store_true", default=False) + +############################## +# sandbox options parser.add_argument("--sandbox_level", type=int, default=0) @@ -209,7 +219,7 @@ default_task_args = { "rpl": { "nb_epochs": 40, "batch_size": 25, - "nb_train_samples": 1000000, + "nb_train_samples": 100000, "nb_test_samples": 10000, }, "world": { @@ -430,6 +440,12 @@ elif args.task == "rpl": nb_train_samples=args.nb_train_samples, nb_test_samples=args.nb_test_samples, batch_size=args.batch_size, + nb_starting_values=args.rpl_nb_starting_values, + max_input=args.rpl_max_input, + prog_len=args.rpl_prog_len, + nb_runs=args.rpl_nb_runs, + no_prog=args.rpl_no_prog, + logger=log_string, device=device, ) @@ -502,12 +518,12 @@ else: if args.task == "expr" and args.expr_input_file is not None: task.produce_results( - nb_epochs_finished, - model, - args.result_dir, - log_string, - args.deterministic_synthesis, - args.expr_input_file, + n_epoch=nb_epochs_finished, + model=model, + result_dir=args.result_dir, + logger=log_string, + deterministic_synthesis=args.deterministic_synthesis, + input_file=args.expr_input_file, ) exit(0) @@ -583,11 +599,11 @@ nb_samples_seen = 0 if nb_epochs_finished >= nb_epochs: task.produce_results( - nb_epochs_finished, - model, - args.result_dir, - log_string, - args.deterministic_synthesis, + n_epoch=nb_epochs_finished, + model=model, + result_dir=args.result_dir, + logger=log_string, + deterministic_synthesis=args.deterministic_synthesis, ) for n_epoch in range(nb_epochs_finished, nb_epochs): @@ -641,7 +657,11 @@ for n_epoch in range(nb_epochs_finished, nb_epochs): ) task.produce_results( - n_epoch, model, args.result_dir, log_string, args.deterministic_synthesis + n_epoch=n_epoch, + model=model, + result_dir=args.result_dir, + logger=log_string, + deterministic_synthesis=args.deterministic_synthesis, ) checkpoint = {