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) 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)
def get_arguments(): parser = argparse.ArgumentParser() parser.add_argument('--batchSz', type=int, default=4) parser.add_argument('--dataset_name', type=str, default="brats2018") parser.add_argument('--dim', nargs="+", type=int, default=(64, 64, 64)) parser.add_argument('--nEpochs', type=int, default=100) parser.add_argument('--classes', type=int, default=4) parser.add_argument('--samples_train', type=int, default=1024) parser.add_argument('--samples_val', type=int, default=128) parser.add_argument('--inChannels', type=int, default=4) parser.add_argument('--inModalities', type=int, default=4) parser.add_argument('--threshold', default=0.00000000001, type=float) parser.add_argument('--terminal_show_freq', default=50) parser.add_argument('--augmentation', action='store_true', default=True) parser.add_argument('--normalization', default='full_volume_mean', type=str, help='Tensor normalization: options ,max_min,', choices=('max_min', 'full_volume_mean', 'brats', 'max', 'mean')) parser.add_argument( '--split', default=0.8, type=float, help='Select percentage of training data(default: 0.8)') parser.add_argument('--lr', default=1e-2, type=float, help='learning rate (default: 1e-3)') parser.add_argument('--cuda', action='store_true', default=True) parser.add_argument('--loadData', default=True) parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') parser.add_argument('--model', type=str, default='VNET', choices=('VNET', 'VNET2', 'UNET3D', 'DENSENET1', 'DENSENET2', 'DENSENET3', 'HYPERDENSENET')) parser.add_argument('--opt', type=str, default='sgd', choices=('sgd', 'adam', 'rmsprop')) parser.add_argument('--log_dir', type=str, default='./runs/') args = parser.parse_args() args.save = './saved_models/' + args.model + '_checkpoints/' + args.model + '_{}_{}_'.format( utils.datestr(), args.dataset_name) return args
def __init__(self, args): name_model = args.log_dir + args.model + "_" + args.dataset_name + "_" + utils.datestr( ) self.writer = SummaryWriter(log_dir=args.log_dir + name_model, comment=name_model) utils.make_dirs(args.save) self.csv_train, self.csv_val = self.create_stats_files(args.save) self.dataset_name = args.dataset_name self.classes = args.classes self.label_names = dict_class_names[args.dataset_name] self.data = self.create_data_structure()
def get_arguments(): parser = argparse.ArgumentParser() parser.add_argument('--batchSz', type=int, default=1) parser.add_argument('--dataset_name', type=str, default="iseg2017") parser.add_argument('--dim', nargs="+", type=int, default=(64, 64, 64)) parser.add_argument('--nEpochs', type=int, default=250) parser.add_argument('--classes', type=int, default=4) parser.add_argument('--samples_train', type=int, default=1) parser.add_argument('--samples_val', type=int, default=1) parser.add_argument('--split', type=float, default=0.8) parser.add_argument('--inChannels', type=int, default=2) parser.add_argument('--inModalities', type=int, default=2) parser.add_argument('--fold_id', default='1', type=str, help='Select subject for fold validation') parser.add_argument('--lr', default=1e-2, type=float, help='learning rate (default: 1e-3)') parser.add_argument('--cuda', action='store_true', default=True) parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') parser.add_argument('--model', type=str, default='UNET3D', choices=('VNET', 'VNET2', 'UNET3D', 'DENSENET1', 'DENSENET2', 'DENSENET3', 'HYPERDENSENET')) parser.add_argument('--opt', type=str, default='sgd', choices=('sgd', 'adam', 'rmsprop')) parser.add_argument( '--pretrained', default= './saved_models/UNET3D_checkpoints/UNET3D_25_05___15_15_iseg2017_/UNET3D_25_05___15_15_iseg2017__last_epoch.pth', type=str, metavar='PATH', help='path to pretrained model') args = parser.parse_args() args.save = '../inference_checkpoints/' + args.model + '_checkpoints/' + args.model + '_{}_{}_'.format( utils.datestr(), args.dataset_name) args.tb_log_dir = './runs/' return args
def get_arguments(): parser = argparse.ArgumentParser() parser.add_argument('--batchSz', type=int, default=4) parser.add_argument('--dataset_name', type=str, default="miccai2019") parser.add_argument('--nEpochs', type=int, default=100) parser.add_argument('--dim', nargs="+", type=int, default=(256, 256)) parser.add_argument('--classes', type=int, default=7) parser.add_argument('--samples_train', type=int, default=10) parser.add_argument('--samples_val', type=int, default=10) parser.add_argument('--inChannels', type=int, default=3) parser.add_argument('--inModalities', type=int, default=1) parser.add_argument('--samples_train', type=int, default=100) parser.add_argument('--samples_val', type=int, default=10) parser.add_argument( '--split', default=0.8, type=float, help='Select percentage of training data(default: 0.8)') parser.add_argument('--lr', default=1e-3, type=float, help='learning rate (default: 1e-3)') parser.add_argument('--cuda', action='store_true', default=True) parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') parser.add_argument('--model', type=str, default='UNET2D', choices=('VNET', 'VNET2', 'UNET3D', 'DENSENET1', 'DENSENET2', 'DENSENET3', 'HYPERDENSENET', "UNET2D")) parser.add_argument('--opt', type=str, default='sgd', choices=('sgd', 'adam', 'rmsprop')) parser.add_argument('--log_dir', type=str, default='./runs/') args = parser.parse_args() args.save = './saved_models/' + args.model + '_checkpoints/' + args.model + '_{}_{}_'.format( utils.datestr(), args.dataset_name) return args
def get_arguments(): parser = argparse.ArgumentParser() parser.add_argument('--batchSz', type=int, default=1) parser.add_argument('--dataset_name', type=str, default="iseg2017") parser.add_argument('--dim', nargs="+", type=int, default=(32, 32, 32)) parser.add_argument('--nEpochs', type=int, default=250) parser.add_argument('--classes', type=int, default=4) parser.add_argument('--samples_train', type=int, default=10) parser.add_argument('--samples_val', type=int, default=10) parser.add_argument('--inChannels', type=int, default=2) parser.add_argument('--inModalities', type=int, default=2) parser.add_argument('--fold_id', default='1', type=str, help='Select subject for fold validation') parser.add_argument('--lr', default=1e-3, type=float, help='learning rate (default: 1e-3)') parser.add_argument('--cuda', action='store_true', default=False) parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') parser.add_argument('--model', type=str, default='DENSEVOXELNET', choices=('VNET', 'VNET2', 'UNET3D', 'DENSENET1', 'DENSENET2', 'DENSENET3', 'HYPERDENSENET')) parser.add_argument('--opt', type=str, default='sgd', choices=('sgd', 'adam', 'rmsprop')) parser.add_argument('--log_dir', type=str, default='./runs/') args = parser.parse_args() args.save = './saved_models/' + args.model + '_checkpoints/' + args.model + '_{}_{}_'.format( datestr(), args.dataset_name) return args
def get_arguments(): parser = argparse.ArgumentParser() parser.add_argument('--batchSz', type=int, default=4) parser.add_argument('--dataset_name', type=str, default="mrbrains4") parser.add_argument('--dim', nargs="+", type=int, default=(128, 128, 48)) parser.add_argument('--nEpochs', type=int, default=200) parser.add_argument('--inChannels', type=int, default=3) parser.add_argument('--inModalities', type=int, default=3) parser.add_argument('--samples_train', type=int, default=10) parser.add_argument('--samples_val', type=int, default=10) parser.add_argument('--classes', type=int, default=4) parser.add_argument('--threshold', default=0.1, type=float) parser.add_argument('--augmentation', default='no', type=str, help='Tensor normalization: options max, mean, global') parser.add_argument('--normalization', default='global_mean', type=str, help='Tensor normalization: options max, mean, global') parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') parser.add_argument('--split', default=0.9, type=float, help='Select percentage of training data(default: 0.8)') parser.add_argument('--lr', default=1e-3, type=float, help='learning rate (default: 1e-3)') parser.add_argument('--cuda', action='store_true', default=False) parser.add_argument('--model', type=str, default='UNET3D', choices=('VNET', 'VNET2', 'UNET3D', 'DENSENET1', 'DENSENET2', 'DENSENET3', 'HYPERDENSENET')) parser.add_argument('--opt', type=str, default='sgd', choices=('sgd', 'adam', 'rmsprop')) parser.add_argument('--log_dir', type=str, default='./runs/') args = parser.parse_args() args.save = './saved_models/' + args.model + '_checkpoints/' + args.model + '_{}_{}_'.format( utils.datestr(), args.dataset_name) return args