Ejemplo n.º 1
0
def main():
    """
    Driver function for the script
    """
    _parser = NmArgumentParser(
        dataclass_types=LRAnalysisArguments,
        description="Utility script to Run a "
        "learning rate sensitivity analysis "
        "for a desired image classification architecture",
    )
    args_, _ = _parser.parse_args_into_dataclasses()
    save_dir, loggers = helpers.get_save_dir_and_loggers(
        args_,
        task=CURRENT_TASK,
    )

    input_shape = ModelRegistry.input_shape(args_.arch_key)
    # assume shape [C, S, S] where S is the image size
    image_size = input_shape[1]

    (
        train_dataset,
        train_loader,
        val_dataset,
        val_loader,
    ) = helpers.get_train_and_validation_loaders(
        args_,
        image_size,
        task=CURRENT_TASK,
    )

    num_classes = helpers.infer_num_classes(args_, train_dataset, val_dataset)
    model = helpers.create_model(args_, num_classes)
    lr_sensitivity(args_, model, train_loader, save_dir)
Ejemplo n.º 2
0
def main():
    """
    Driver function for the script
    """
    _parser = NmArgumentParser(dataclass_types=TrainingArguments)
    training_args, _ = _parser.parse_args_into_dataclasses()

    save_dir, loggers = helpers.get_save_dir_and_loggers(training_args,
                                                         task=CURRENT_TASK)

    input_shape = ModelRegistry.input_shape(training_args.arch_key)
    image_size = input_shape[
        1]  # assume shape [C, S, S] where S is the image size

    (
        train_dataset,
        train_loader,
        val_dataset,
        val_loader,
    ) = helpers.get_train_and_validation_loaders(training_args,
                                                 image_size,
                                                 task=CURRENT_TASK)

    num_classes = helpers.infer_num_classes(training_args, train_dataset,
                                            val_dataset)

    # # model creation
    model = helpers.create_model(training_args, num_classes)
    train(training_args, model, train_loader, val_loader, input_shape,
          save_dir, loggers)
Ejemplo n.º 3
0
    def test_with_enum(self):
        parser = NmArgumentParser(EnumExample)

        expected = argparse.ArgumentParser()
        expected.add_argument(
            "--foo", default="toto", choices=["titi", "toto"], type=str
        )
        self.argparsersEqual(parser, expected)

        args = parser.parse_args([])
        self.assertEqual(args.foo, "toto")
        enum_ex = parser.parse_args_into_dataclasses([])[0]
        self.assertEqual(enum_ex.foo, BasicEnum.toto)

        args = parser.parse_args(["--foo", "titi"])
        self.assertEqual(args.foo, "titi")
        enum_ex = parser.parse_args_into_dataclasses(["--foo", "titi"])[0]
        self.assertEqual(enum_ex.foo, BasicEnum.titi)
Ejemplo n.º 4
0
def main():
    """
    Driver function
    """
    _parser = NmArgumentParser(
        dataclass_types=ExportArgs,
        description="Utility script to export a model to onnx "
        "and also store sample inputs/outputs",
    )
    (args_, ) = _parser.parse_args_into_dataclasses()
    model, save_dir, val_loader = export_setup(args_)
    export(args_, model, val_loader, save_dir)
Ejemplo n.º 5
0
    def test_basic(self):
        parser = NmArgumentParser(BasicExample)

        expected = argparse.ArgumentParser()
        expected.add_argument("--foo", type=int, required=True)
        expected.add_argument("--bar", type=float, required=True)
        expected.add_argument("--baz", type=str, required=True)
        expected.add_argument(
            "--flag", type=string_to_bool, default=False, const=True, nargs="?"
        )
        self.argparsersEqual(parser, expected)

        args = ["--foo", "1", "--baz", "quux", "--bar", "0.5"]
        (example,) = parser.parse_args_into_dataclasses(args, look_for_args_file=False)
        self.assertFalse(example.flag)