+if args.physical_batch_size is None:
+ args.physical_batch_size = args.batch_size
+else:
+ assert args.batch_size % args.physical_batch_size == 0
+
+assert args.nb_train_samples % args.batch_size == 0
+assert args.nb_test_samples % args.batch_size == 0
+
+if args.problem == "sky":
+ problem = sky.Sky(
+ height=args.sky_height,
+ width=args.sky_width,
+ nb_birds=args.sky_nb_birds,
+ nb_iterations=args.sky_nb_iterations,
+ speed=args.sky_speed,
+ )
+elif args.problem == "wireworld":
+ problem = wireworld.Wireworld(height=8, width=10, nb_iterations=2, speed=5)
+else:
+ raise ValueError
+
+quizz_machine = quizz_machine.QuizzMachine(
+ problem=problem,
+ nb_train_samples=args.nb_train_samples,
+ nb_test_samples=args.nb_test_samples,
+ batch_size=args.physical_batch_size,
+ result_dir=args.result_dir,
+ logger=log_string,
+ device=device,
+)