X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=main.py;h=0f1fbb5386be975f5853e35575b742fdcee5d622;hb=16cb07f99cf770fb4e97824f874a68cbddd4c1cf;hp=ba8843b313993062d3dd4b8f1020de77b5bf71e3;hpb=f38523dc7bcd791867b45423babb8ddb3358b31e;p=picoclvr.git diff --git a/main.py b/main.py index ba8843b..0f1fbb5 100755 --- a/main.py +++ b/main.py @@ -12,7 +12,7 @@ from torch import nn from torch.nn import functional as F import ffutils -import mygpt, tasks +import mygpt, tasks, problems ###################################################################### @@ -81,13 +81,15 @@ parser.add_argument("--checkpoint_name", type=str, default="checkpoint.pth") ############################## # rpl options -parser.add_argument("--rpl-nb_starting_values", type=int, default=5) +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_max_input", type=int, default=9) -parser.add_argument("--rpl-prog_len", type=int, default=10) +parser.add_argument("--rpl_prog_len", type=int, default=10) -parser.add_argument("--rpl-nb_runs", type=int, default=8) +parser.add_argument("--rpl_nb_runs", type=int, default=8) + +parser.add_argument("--rpl_no_prog", action="store_true", default=False) ############################## # sandbox options @@ -333,19 +335,19 @@ picoclvr_pruner_eval = ( if args.task == "sandbox": if args.sandbox_level == 0: - problem = tasks.ProblemLevel0( + problem = problems.ProblemLevel0( nb_sentences=args.sandbox_levels_nb_items, len_prompt=args.sandbox_levels_len_source, len_result=args.sandbox_levels_len_result, ) elif args.sandbox_level == 1: - problem = tasks.ProblemLevel1( + problem = problems.ProblemLevel1( nb_operators=args.sandbox_levels_nb_items, len_source=args.sandbox_levels_len_source, len_result=args.sandbox_levels_len_result, ) elif args.sandbox_level == 2: - problem = tasks.ProblemLevel2( + problem = problems.ProblemLevel2( len_source=args.sandbox_levels_len_source, len_result=args.sandbox_levels_len_result, ) @@ -354,7 +356,7 @@ if args.task == "sandbox": task = tasks.SandBox( problem, - # tasks.ProblemAddition(zero_padded=False, inverted_result=False), + # problems.ProblemAddition(zero_padded=False, inverted_result=False), nb_train_samples=args.nb_train_samples, nb_test_samples=args.nb_test_samples, batch_size=args.batch_size, @@ -442,6 +444,7 @@ elif args.task == "rpl": 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, ) @@ -515,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) @@ -596,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): @@ -654,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 = {