def main():
    args = get_arguments()
    os.environ["CUDA_VISIBLE_DEVICES"] = "0"
    ## FOR REPRODUCIBILITY OF RESULTS
    seed = 1777777
    utils.reproducibility(args, seed)

    utils.make_dirs(args.save)
    utils.save_arguments(args, args.save)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='.././datasets')
    model, optimizer = medzoo.create_model(args)
    criterion = create_loss('CrossEntropyLoss')
    criterion = DiceLoss(classes=args.classes,
                         weight=torch.tensor([0.1, 1, 1, 1]).cuda())

    if args.cuda:
        model = model.cuda()
        print("Model transferred in GPU.....")

    trainer = Trainer(args,
                      model,
                      criterion,
                      optimizer,
                      train_data_loader=training_generator,
                      valid_data_loader=val_generator,
                      lr_scheduler=None)
    print("START TRAINING...")
    trainer.training()
Пример #2
0
def main():
    args = get_arguments()

    os.environ["CUDA_VISIBLE_DEVICES"] = "0,2"
    ## FOR REPRODUCIBILITY OF RESULTS
    seed = 1777777
    utils.reproducibility(args, seed)
    utils.make_dirs(args.save)
    name_model = args.model + "_" + args.dataset_name + "_" + utils.datestr()

    # TODO visual3D_temp.Basewriter package
    writer = SummaryWriter(log_dir='../runs/' + name_model, comment=name_model)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='.././datasets')
    model, optimizer = medzoo.create_model(args)

    if args.cuda:
        model = model.cuda()
        print("Model transferred in GPU.....")

    print("START TRAINING...")
    for epoch in range(1, args.nEpochs + 1):
        train(args, model, training_generator, optimizer, epoch, writer)
        val_metrics, confusion_matrix = validation(args, model, val_generator,
                                                   epoch, writer)
Пример #3
0
def main():
    args = get_arguments()
    utils.make_dirs(args.save)
    name_model = args.model + "_" + args.dataset_name + "_" + utils.datestr()

    # TODO visual3D_temp.Basewriter package
    writer = SummaryWriter(log_dir='../runs/' + name_model, comment=name_model)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='.././datasets')
    model, optimizer = medzoo.create_model(args)

    criterion = DiceLoss(classes=11, skip_index_after=args.classes)

    if args.cuda:
        torch.cuda.manual_seed(seed)
        model = model.cuda()
        print("Model transferred in GPU.....")

    print("START TRAINING...")
    for epoch in range(1, args.nEpochs + 1):
        train_stats = train.train_dice(args, epoch, model, training_generator,
                                       optimizer, criterion)

        val_stats = train.test_dice(args, epoch, model, val_generator,
                                    criterion)

        #old
        utils.write_train_val_score(writer, epoch, train_stats, val_stats)

        model.save_checkpoint(args.save,
                              epoch,
                              val_stats[0],
                              optimizer=optimizer)
def main():
    args = get_arguments()
    utils.reproducibility(args, seed)
    # utils.make_dirs(args.save)
    if not os.path.exists(args.save):
        os.makedirs(args.save)
    training_generator, val_generator, full_volume, affine, dataset = medical_loaders.generate_datasets(
        args, path='/data/hejy/MedicalZooPytorch_2cls/datasets')
    model, optimizer = medzoo.create_model(args)

    criterion = DiceLoss(classes=2,
                         skip_index_after=args.classes,
                         weight=torch.tensor([1, 1]).cuda(),
                         sigmoid_normalization=True)
    # criterion = WeightedCrossEntropyLoss()

    if args.cuda:
        model = model.cuda()
    # model.restore_checkpoint(args.pretrained)
    trainer = train.Trainer(args,
                            model,
                            criterion,
                            optimizer,
                            train_data_loader=training_generator,
                            valid_data_loader=val_generator,
                            lr_scheduler=None)
    trainer.training()
Пример #5
0
def main():
    args = get_arguments()
    utils.reproducibility(args, seed)
    # utils.make_dirs(args.save)
    if not os.path.exists(args.save):
        os.makedirs(args.save)
    # training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(args,
    training_generator, val_generator, full_volume, affine, dataset = medical_loaders.generate_datasets(args,
                                                                                               path='/data/hejy/MedicalZooPytorch_2cls/datasets')
    model, optimizer = medzoo.create_model(args)

    criterion = DiceLoss(classes=2, skip_index_after=args.classes, weight = torch.tensor([1, 1]).cuda(), sigmoid_normalization=True)
    # criterion = WeightedCrossEntropyLoss()

    if args.cuda:
        model = model.cuda()
    # model.restore_checkpoint(args.pretrained)
    dataloader_train = MICCAI2020_RIBFRAC_DataLoader3D(dataset, args.batchSz, args.dim,  num_threads_in_multithreaded=2)
    tr_transforms = get_train_transform(args.dim)
    training_generator_aug = SingleThreadedAugmenter(dataloader_train, tr_transforms,)
    
    
    trainer = train.Trainer(args, model, criterion, optimizer, train_data_loader=training_generator,
                            valid_data_loader=val_generator, lr_scheduler=None, dataset = dataset, train_data_loader_aug=training_generator_aug)
    trainer.training()
Пример #6
0
def main():
    args = get_arguments()

    utils.reproducibility(args, seed)
    utils.make_dirs(args.save)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='.././datasets')
    model, optimizer = medzoo.create_model(args)
    criterion = DiceLoss(classes=args.classes)

    if args.cuda:
        model = model.cuda()
        print("Model transferred in GPU.....")

    trainer = train.Trainer(args,
                            model,
                            criterion,
                            optimizer,
                            train_data_loader=training_generator,
                            valid_data_loader=val_generator,
                            lr_scheduler=None)
    print("START TRAINING...")
    trainer.training()

    visualize_3D_no_overlap_new(args, full_volume, affine, model, 10, args.dim)
Пример #7
0
def main():
    args = get_arguments()
    os.environ["CUDA_VISIBLE_DEVICES"] = "1"
    ## FOR REPRODUCIBILITY OF RESULTS
    seed = 1777777
    torch.manual_seed(seed)
    if args.cuda:
        torch.cuda.manual_seed(seed)
    np.random.seed(seed)
    cudnn.deterministic = True
    # FOR FASTER GPU TRAINING WHEN INPUT SIZE DOESN'T VARY
    # cudnn.benchmark = True

    utils.make_dirs(args.save)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(args,
                                                                                               path='.././datasets')
    model, optimizer = medzoo.create_model(args)

    criterion = DiceLoss(classes=args.classes)

    if args.cuda:
        model = model.cuda()
        print("Model transferred in GPU.....")

    trainer = Trainer(args, model, criterion, optimizer, train_data_loader=training_generator,
                      valid_data_loader=val_generator, lr_scheduler=None)
    print("START TRAINING...")
    trainer.training()
Пример #8
0
def main():
    args = get_arguments()

    seed = 1777777
    torch.manual_seed(seed)
    if args.cuda:
        torch.cuda.manual_seed(seed)
    np.random.seed(seed)
    cudnn.deterministic = True
    cudnn.benchmark = True

    utils.make_dirs(args.save)
    name_model = args.model + "_" + args.dataset_name + "_" + utils.datestr()

    # TODO visual3D_temp.Basewriter package
    writer = SummaryWriter(log_dir='../runs/' + name_model, comment=name_model)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='.././datasets')
    model, optimizer = medzoo.create_model(args)

    if args.cuda:

        model = model.cuda()
        print("Model transferred in GPU.....")

    print("START TRAINING...")
    for epoch in range(1, args.nEpochs + 1):

        train(args, model, training_generator, optimizer, epoch, writer)
        val_metrics, confusion_matrix = validation(args, model, val_generator,
                                                   epoch, writer)
Пример #9
0
def main():
    args = get_arguments()
    #os.environ["CUDA_VISIBLE_DEVICES"] = "0"
    ## FOR REPRODUCIBILITY OF RESULTS
    seed = 1777777
    utils.reproducibility(args, seed)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='.././datasets')
    model, optimizer = medzoo.create_model(args)
    #
    criterion = DiceLoss(classes=args.classes)
    #
    # ## TODO LOAD PRETRAINED MODEL
    print(affine.shape)
    # #model.restore_checkpoint(args.pretrained)
    if args.cuda:
        model = model.cuda()
        full_volume = full_volume.cuda()
        print("Model transferred in GPU.....")
    x = torch.randn(3, 156, 240, 240).cuda()
    output = non_overlap_padding(args,
                                 x,
                                 model,
                                 criterion,
                                 kernel_dim=(32, 32, 32))
Пример #10
0
def main():
    args = get_arguments()

    utils.reproducibility(args, seed)
    utils.make_dirs(args.save)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='/home/mulns/My_project/VV/MedicalZooPytorch/datasets')
    model, optimizer = medzoo.create_model(args)
    criterion = DiceLoss(classes=args.classes)

    if args.cuda:
        # model=torch.nn.DataParallel(model)
        model = model.cuda()
        print("Model transferred in GPU.....")

    trainer = train.Trainer(args,
                            model,
                            criterion,
                            optimizer,
                            train_data_loader=training_generator,
                            valid_data_loader=val_generator,
                            lr_scheduler=None)
    print("START TRAINING...")
    trainer.training()
Пример #11
0
def main():
    args = get_arguments()
    summary_flag = True

    model_list = ["RESNET3DVAE", 'UNET3D', 'DENSENET1',
                  'DENSENET2', 'DENSENET3', 'HYPERDENSENET', "SKIPDENSENET3D",
                  "DENSEVOXELNET", 'VNET', 'VNET2']

    if summary_flag:
        for key in model_list:
            args.model = key
            model, _ = medzoo.create_model(args)
            print('created...',key)
def main():
    args = get_arguments()
    utils.reproducibility(args, seed)
    utils.make_dirs(args.save)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(args,
                                                                                               path='.././datasets')
    model, optimizer = medzoo.create_model(args)
    criterion = DiceLoss(classes=args.classes)

    if args.cuda:
        model = model.cuda()

    trainer = train.Trainer(args, model, criterion, optimizer, train_data_loader=training_generator,
                            valid_data_loader=val_generator)
    trainer.training()
def main():
    args = get_arguments()
    utils.reproducibility(args, seed)
    utils.make_dirs(args.save)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(args,
                                                                                               path='.././datasets')
    model, optimizer = medzoo.create_model(args)
    criterion = DiceLoss(classes=args.classes)  # ,skip_index_after=2,weight=torch.tensor([0.00001,1,1,1]).cuda())

    if args.cuda:
        model = model.cuda()
        print("Model transferred in GPU.....")

    trainer = train.Trainer(args, model, criterion, optimizer, train_data_loader=training_generator,
                            valid_data_loader=val_generator)
    print("START TRAINING...")
    trainer.training()
Пример #14
0
def main():
    args = get_arguments()

    if args.distributed:
        torch.cuda.set_device(args.local_rank)
        torch.distributed.init_process_group(backend='nccl',
                                             init_method='env://')
        args.world_size = torch.distributed.get_world_size()
    assert torch.backends.cudnn.enabled, "Amp requires cudnn backend to be enabled."

    torch.backends.cudnn.benchmark = True

    utils.reproducibility(args, seed)
    # utils.make_dirs(args.save)
    if not os.path.exists(args.save):
        os.makedirs(args.save)
    training_generator, val_generator, full_volume, affine, dataset = medical_loaders.generate_datasets(
        args, path='/data/hejy/MedicalZooPytorch_2cls/datasets')
    model, optimizer = medzoo.create_model(args)

    if args.sync_bn:
        model = apex.parallel.convert_syncbn_model(model)

    criterion = DiceLoss(classes=2,
                         skip_index_after=args.classes,
                         weight=torch.tensor([1, 1]).cuda(),
                         sigmoid_normalization=True)
    # criterion = WeightedCrossEntropyLoss()

    if args.cuda:
        model = model.cuda()

    if args.distributed:
        model = DDP(model, delay_allreduce=True)
    # model.restore_checkpoint(args.pretrained)
    trainer = train.Trainer(args,
                            model,
                            criterion,
                            optimizer,
                            train_data_loader=training_generator,
                            valid_data_loader=val_generator,
                            lr_scheduler=None)
    trainer.training()
def main():
    args = get_arguments()
    os.environ["CUDA_VISIBLE_DEVICES"] = "3"
    seed = 1777777
    # utils.reproducibility(args, seed)
    # training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(args,
    #                                                                                            path='./datasets')
    dataset = MICCAI2020_RIBFRAC_INFERENCE(args, 'val', dataset_path='./datasets', classes=args.classes, dim=args.dim,
#    dataset = MICCAI2020_RIBFRAC_TEST(args, 'val', dataset_path='./datasets', classes=args.classes, dim=args.dim,
                                            split_id=0, samples=args.samples_val, load=args.loadData)
    model, optimizer = medzoo.create_model(args)
    print(args.pretrained)
    model.restore_checkpoint(args.pretrained)
    if args.cuda:
        model = model.cuda()
        # full_volume = full_volume.cuda()
        print("Model transferred in GPU.....")
 
    test_net(args, dataset, model,kernel_dim=(32,32,32))
    print('done')
Пример #16
0
def main():
    args = get_arguments()
    utils.reproducibility(args, seed)
    utils.make_dirs(args.save)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(args,
                                                                                               path='./datasets')
    model, optimizer = medzoo.create_model(args)
    criterion = DiceLoss(classes=args.classes)
    # print("training_generator shape:", training_generator.dim())
    # print("val_generator shape:", val_generator.dim())

    if args.cuda:
        model = model.cuda()
    print("start training...")
    # torch.save(training_generator, "training_generator.tch")
    # torch.save(val_generator, "val_generator.tch")
    trainer = train.Trainer(args, model, criterion, optimizer, train_data_loader=training_generator,
                            valid_data_loader=val_generator)
    trainer.training()
Пример #17
0
def main():
    args = get_arguments()
    utils.make_dirs(args.save)
    train_f, val_f = utils.create_stats_files(args.save)
    name_model = args.model + "_" + args.dataset_name + "_" + utils.datestr()
    writer = SummaryWriter(log_dir='../runs/' + name_model, comment=name_model)
    best_prec1 = 100.

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='.././datasets')
    model, optimizer = medzoo.create_model(args)

    criterion = DiceLoss(classes=args.classes)

    if args.cuda:
        torch.cuda.manual_seed(seed)
        model = model.cuda()
        print("Model transferred in GPU.....")

    print("START TRAINING...")
    for epoch in range(1, args.nEpochs + 1):
        train_stats = train.train_dice(args, epoch, model, training_generator,
                                       optimizer, criterion, train_f, writer)

        val_stats = train.test_dice(args, epoch, model, val_generator,
                                    criterion, val_f, writer)

        utils.write_train_val_score(writer, epoch, train_stats, val_stats)

        model.save_checkpoint(args.save,
                              epoch,
                              val_stats[0],
                              optimizer=optimizer)

        # if epoch % 5 == 0:
        # utils.visualize_no_overlap(args, full_volume, affine, model, epoch, DIM, writer)

        #utils.save_model(model, args, val_stats[0], epoch, best_prec1)

    train_f.close()
    val_f.close()
def main():
    args = get_arguments()
    utils.make_dirs(args.save)
    train_f, val_f = utils.create_stats_files(args.save)

    name_model = args.model + "_" + args.dataset_name + "_" + utils.datestr()
    writer = SummaryWriter(log_dir='../runs/' + name_model, comment=name_model)

    best_pred = 1.01
    samples_train = 200
    samples_val = 200
    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args,
        path='.././datasets',
        samples_train=samples_train,
        samples_val=samples_val)

    model, optimizer = medzoo.create_model(args)
    criterion = medzoo.DiceLoss2D(args.classes)

    if args.cuda:
        torch.cuda.manual_seed(seed)
        model = model.cuda()

    for epoch in range(1, args.nEpochs + 1):
        train_stats = train.train_dice(args, epoch, model, training_generator,
                                       optimizer, criterion, train_f, writer)
        val_stats = train.test_dice(args, epoch, model, val_generator,
                                    criterion, val_f, writer)

        utils.write_train_val_score(writer, epoch, train_stats, val_stats)
        best_pred = utils.save_model(model=model,
                                     args=args,
                                     dice_loss=val_stats[0],
                                     epoch=epoch,
                                     best_pred_loss=best_pred)

    train_f.close()
    val_f.close()
Пример #19
0
def main():
    args = get_arguments()

    if args.distributed:
        torch.distributed.init_process_group(backend='nccl',
                                             init_method='env://')
        args.world_size = torch.distributed.get_world_size()
    assert torch.backends.cudnn.enabled, "Amp requires cudnn backend to be enabled."  #1

    torch.backends.cudnn.benchmark = True

    utils.reproducibility(args, seed)
    utils.make_dirs(args.save)

    training_generator, val_generator, full_volume, affine = medical_loaders.generate_datasets(
        args, path='.././datasets')
    model, optimizer = medzoo.create_model(args)
    criterion = DiceLoss(classes=11, skip_index_after=args.classes)
    if args.sync_bn:
        model = apex.parallel.convert_syncbn_model(model)

    if args.cuda:
        model = model.cuda()
        print("Model transferred in GPU.....")

    if args.distributed:
        model = DDP(model, delay_allreduce=True)

    trainer = train.Trainer(args,
                            model,
                            criterion,
                            optimizer,
                            train_data_loader=training_generator,
                            valid_data_loader=val_generator,
                            lr_scheduler=None)
    print("START TRAINING...")
    trainer.training()