예제 #1
0
파일: main.py 프로젝트: dair-iitd/KBI
    parser.add_argument('-k', '--hooks', required=False, default="[]")
    parser.add_argument('--data_repository_root',
                        required=False,
                        default='data')
    arguments = parser.parse_args()
    if arguments.save_dir is None:
        arguments.save_dir = os.path.join(
            "logs", "%s %s %s run on %s starting from %s" %
            (arguments.model, arguments.model_arguments, arguments.loss,
             arguments.dataset, str(datetime.datetime.now())))
    arguments.model_arguments = json.loads(arguments.model_arguments)
    arguments.hooks = json.loads(arguments.hooks)
    if not arguments.debug:
        if not os.path.isdir(arguments.save_dir):
            print("Making directory (s) %s" % arguments.save_dir)
            os.makedirs(arguments.save_dir)
        else:
            utils.colored_print(
                "yellow", "directory %s already exists" % arguments.save_dir)
        utils.duplicate_stdout(os.path.join(arguments.save_dir, "log.txt"))
    print(arguments)
    dataset_root = os.path.join(arguments.data_repository_root,
                                arguments.dataset)
    main(dataset_root, arguments.save_dir, arguments.model,
         arguments.model_arguments, arguments.loss, arguments.learning_rate,
         arguments.batch_size, arguments.regularization_coefficient,
         arguments.gradient_clip, arguments.optimizer, arguments.max_epochs,
         arguments.negative_sample_count, arguments.hooks,
         arguments.eval_every_x_mini_batches, arguments.eval_batch_size,
         arguments.resume_from_save, arguments.oov_entity, arguments.verbose)
    parser.add_argument(
        "--debug",
        default=False,
        action='store_true',
    )
    parser.add_argument("--skip_train_prob",
                        type=float,
                        default=0,
                        help="Skip batches for training with this probability")
    parser.add_argument('--print_loss_every', type=int, default=1000)
    parser.add_argument('--save_model_every', type=int, default=1)
    parser.add_argument('--train_data_type', type=str, default="thorough")

    args = parser.parse_args()

    if args.output_dir is None:
        args.output_dir = os.path.join(
            "models", "{}".format(str(datetime.datetime.now())))

    if not args.debug:
        if not os.path.isdir(args.output_dir):
            print("Making directory (s) %s" % args.output_dir)
            os.makedirs(args.output_dir)
        else:
            utils.colored_print(
                "yellow", "directory %s already exists" % args.output_dir)
        utils.duplicate_stdout(os.path.join(args.output_dir, "log.txt"))

    print(args)
    main(args)