X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=main.py;h=f4e4f5c2c11e27d9be2666b81fc82d6e02f09b40;hb=8d9cd6a2c09da2105ca17b04df94fcf84e8de954;hp=cd37b9441b21f6923da2e0df347c41d05de42dac;hpb=0cba1df2952a9f9b88b6e7aacfcddc17fbc35186;p=picoclvr.git diff --git a/main.py b/main.py index cd37b94..f4e4f5c 100755 --- a/main.py +++ b/main.py @@ -33,7 +33,7 @@ parser.add_argument( "--task", type=str, default="twotargets", - help="byheart, learnop, guessop, twotargets, addition, picoclvr, mnist, maze, snake, stack, expr, rpl, grid", + help="byheart, learnop, guessop, mixing, twotargets, addition, picoclvr, mnist, maze, snake, stack, expr, rpl, grid, qmlp", ) parser.add_argument("--log_filename", type=str, default="train.log", help=" ") @@ -159,6 +159,13 @@ parser.add_argument("--expr_result_max", type=int, default=99) parser.add_argument("--expr_input_file", type=str, default=None) +############################## +# Misc + +parser.add_argument("--mixing_hard", action="store_true", default=False) + +parser.add_argument("--mixing_deterministic_start", action="store_true", default=False) + ###################################################################### args = parser.parse_args() @@ -195,6 +202,12 @@ default_task_args = { "nb_train_samples": 250000, "nb_test_samples": 10000, }, + "qmlp": { + "model": "37M", + "batch_size": 10, + "nb_train_samples": 100000, + "nb_test_samples": 1000, + }, "guessop": { "model": "352M", "batch_size": 25, @@ -243,6 +256,12 @@ default_task_args = { "nb_train_samples": 50000, "nb_test_samples": 10000, }, + "mixing": { + "model": "37M", + "batch_size": 25, + "nb_train_samples": 250000, + "nb_test_samples": 10000, + }, "mnist": { "model": "37M", "batch_size": 10, @@ -397,6 +416,18 @@ elif args.task == "twotargets": device=device, ) +elif args.task == "mixing": + task = tasks.SandBox( + problem=problems.ProblemMixing( + hard=args.mixing_hard, random_start=not args.mixing_deterministic_start + ), + nb_train_samples=args.nb_train_samples, + nb_test_samples=args.nb_test_samples, + batch_size=args.batch_size, + logger=log_string, + device=device, + ) + elif args.task == "addition": task = tasks.SandBox( problem=problems.ProblemAddition(), @@ -502,6 +533,16 @@ elif args.task == "grid": device=device, ) +elif args.task == "qmlp": + task = tasks.QMLP( + nb_train_samples=args.nb_train_samples, + nb_test_samples=args.nb_test_samples, + batch_size=args.batch_size, + result_dir=args.result_dir, + logger=log_string, + device=device, + ) + else: raise ValueError(f"Unknown task {args.task}")