Exemplo n.º 1
0
best_val = float('inf')
best_name = args.save_folder + "/" + args.save_name.format(architecture=args.architecture, epoch="best", dataset_name=args.dataset_name)
for epoch in range(args.start_epochs - 1, args.epochs):
    epoch_1 = epoch + 1
    loss_train = train(epoch_1)
    if args.iterations_val > 0:
        loss_val = validation(epoch_1)
    else:
        loss_val = loss_train

    if best_val > loss_val:
        is_best = True
        best_val = loss_val
    else:
        is_best = False

    if has_tensorboardX:
        threading.Thread(target= lambda: train_writer.add_scalar('Loss', loss_train, int(epoch_1))).start()
        if args.iterations_val > 0:
            threading.Thread(target= lambda: val_writer.add_scalar('Loss', loss_val, int(epoch_1))).start()

    if epoch_1 % args.save_interval == 0:
        save_checkpoint({
            'epoch': epoch_1,
            'model': model_net.save_model(),
            'best_loss': best_val,
        }, is_best, args.save_folder + "/" + args.save_name.format(architecture=args.architecture, epoch=epoch_1, dataset_name=args.dataset_name))