Exemplo n.º 1
0
def main():
    wandb.init(project="msc_thesis_hendrig")
    ap = argparse.ArgumentParser()
    ap.add_argument("data_path", help="Path to data root")
    ap.add_argument("vocabulary_path", help="Path to vocabulary file")
    ap.add_argument("config", help="Path to config file")
    ap.add_argument("-m",
                    "--models",
                    help="Directory to store trained models (optional)")
    ap.add_argument("-l",
                    "--log",
                    help="Path to store training log (optional)")
    ap.add_argument("-e",
                    "--eval_only",
                    help="Whether to run just the final model evaluation")
    args = ap.parse_args()
    config = yaml.safe_load(open(args.config))
    wandb.config.update(args)
    wandb.config.update(config)
    lowest_memory_gpu = gpu_selector.GPUSelector().pick_gpu_lowest_memory()
    if lowest_memory_gpu is not None:
        os.environ["CUDA_VISIBLE_DEVICES"] = str(lowest_memory_gpu)
    print("Training with configuration:", config)
    data = data_loader.DataLoader(args.data_path, config["data"],
                                  vocabulary.Vocabulary(args.vocabulary_path))
    if args.eval_only:
        if args.models is None or args.log is None:
            raise ValueError(
                "Must provide a path to pre-trained models when running final evaluation"
            )
        test(data, config, args.models, args.log)
    else:
        train(data, config, args.models, args.log)
Exemplo n.º 2
0
def main():
    ap = argparse.ArgumentParser()
    ap.add_argument("data_path", help="Path to data root")
    ap.add_argument("vocabulary_path", help="Path to vocabulary file")
    ap.add_argument("config", help="Path to config file")
    ap.add_argument("-m",
                    "--models",
                    help="Directory to store trained models (optional)")
    ap.add_argument("-l",
                    "--log",
                    help="Path to store training log (optional)")
    ap.add_argument("-e",
                    "--eval_only",
                    help="Whether to run just the final model evaluation")
    args = ap.parse_args()
    config = yaml.safe_load(open(args.config))
    print("Training with configuration:", config)
    data = data_loader.DataLoader(args.data_path, config["data"],
                                  vocabulary.Vocabulary(args.vocabulary_path))
    if args.eval_only:
        if args.models is None or args.log is None:
            raise ValueError(
                "Must provide a path to pre-trained models when running final evaluation"
            )
        test(data, config, args.models, args.log)
    else:
        train(data, config, args.models, args.log)
Exemplo n.º 3
0
 def vocabulary(self) -> data_vocab.Vocabulary:
     if not hasattr(self, '_vocabulary'):
         _vocabulary = data_vocab.Vocabulary(
             vocab_fname=None,
             vocab_dict=self._dictionary.vocab,
             num_oov_buckets=1,
             unk_token=data_vocab._BERT_UNK)
         self._vocabulary = _vocabulary
     return self._vocabulary