コード例 #1
0
ファイル: main.py プロジェクト: JianyuTANG/DeepLearningTHU
    ## about model
    num_classes = 20

    ## about data
    data_dir = "../data/"
    inupt_size = 224
    batch_size = args.batch_size

    ## about training
    num_epochs = args.num_epoch
    lr = args.lr
    gamma = args.gamma

    ## model initialization
    model = models.model_C(num_classes=num_classes)
    device = torch.device(args.cuda if torch.cuda.is_available() else "cpu")
    model = model.to(device)

    ## data preparation
    train_loader, valid_loader = data.load_data(data_dir=data_dir,
                                                input_size=inupt_size,
                                                batch_size=batch_size)

    ## optimizer
    optimizer = optim.SGD(model.parameters(), lr=lr, momentum=0.9)

    ## learning rate scheduler
    milestones = [50 + i * 30 for i in range(10)]
    scheduler = MultiStepLR(optimizer, milestones=milestones, gamma=gamma)
    # scheduler = ExponentialLR(optimizer, gamma=gamma)
コード例 #2
0
        print("training: {:.4f}, {:.4f}".format(train_loss, train_acc))
        print("train time: {:.4f} s".format(train_end - train_start))

        if max_rate < train_acc:
            max_rate = train_acc
    if max_rate >= hyper.debug_threshold:
        print("The model can overfit the training data, valid.")
    else:
        print("The model cannot overfit the training data, invalid.")


if __name__ == '__main__':
    os.environ["CUDA_VISIBLE_DEVICES"] = "5"

    ## model initialization
    model = models.model_C(num_classes=hyper.num_classes,
                           input_size=hyper.input_size)

    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
    model = model.to(device)

    ## data preparation
    _, _, debug_loader = data.load_data \
    (data_dir = hyper.data_dir,input_size = hyper.input_size)

    ## optimizer
    optimizer = optim.Adam(model.parameters(), lr=hyper.lr)

    ## loss function
    criterion = nn.CrossEntropyLoss()

    debug_model(model,