def main(args): # Ensure training, testing, and manip are not all turned off assert (args.train or args.test or args.manip),\ 'Cannot have train, test, and manip all set to 0, Nothing to do.' # Load the training, validation, and testing data try: train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) except IndexError: # Create the training and test splits if not found split_data(args.data_root_dir, num_splits=4) train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) # Get image properties from first image. Assume they are all the same. img_shape = sitk.GetArrayFromImage( sitk.ReadImage(join(args.data_root_dir, 'imgs', train_list[0][0]))).shape net_input_shape = (img_shape[0], img_shape[1], args.slices) print(net_input_shape) # Create the model for training/testing/manipulation model_list = create_model(args=args, input_shape=net_input_shape) print_summary(model=model_list[0], positions=[.38, .65, .75, 1.]) args.output_name = args.save_prefix +\ 'split-' + str(args.split_num) + \ '-batch-' + str(args.batch_size) + \ '_shuff-' + str(args.shuffle_data) + \ '_aug-' + str(args.aug_data) + \ '_loss-' + str(args.loss) + \ '_strid-' + str(args.stride) + \ '_lr-' + str(args.initial_lr) + \ '_recon-' + str(args.recon_wei) args.time = time args.check_dir = join(args.data_root_dir, 'saved_models', args.net) try: makedirs(args.check_dir) except FileExistsError: pass args.log_dir = join(args.data_root_dir, 'logs', args.net) try: makedirs(args.log_dir) except FileExistsError: pass args.tf_log_dir = join(args.log_dir, 'tf_logs') try: makedirs(args.tf_log_dir) except FileExistsError: pass args.output_dir = join(args.data_root_dir, 'plots', args.net) try: makedirs(args.output_dir) except FileExistsError: pass if args.train: from train import train # Run training train(args, train_list, val_list, model_list[0], net_input_shape) if args.test: from test import test # Run testing test(args, test_list, model_list, net_input_shape)
def main(args): #tf.enable_eager_execution() #sess = K.get_session() #sess = tf_debug.LocalCLIDebugWrapperSession(sess) #K.set_session(sess) # Ensure training, testing, and manip are not all turned off assert (args.train or args.test or args.manip), 'Cannot have train, test, and manip all set to 0, Nothing to do.' # Load the training, validation, and testing data try: train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) except: # Create the training and test splits if not found split_data(args.data_root_dir, num_splits=4) train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) # Get image properties from first image. Assume they are all the same. img_shape = sitk.GetArrayFromImage(sitk.ReadImage(join(args.data_root_dir, 'imgs', train_list[0][0]))).shape net_input_shape = (img_shape[1], img_shape[2], args.slices) if args.pytorch: from capsnet_pytorch import CapsNetBasic, CapsNetR3 model = CapsNetR3() #CapsNetBasic() else: # Create the model for training/testing/manipulation model_list = create_model(args=args, input_shape=net_input_shape) print_summary(model=model_list[0], positions=[.38, .65, .75, 1.]) args.output_name = 'split-' + str(args.split_num) + '_batch-' + str(args.batch_size) + \ '_shuff-' + str(args.shuffle_data) + '_aug-' + str(args.aug_data) + \ '_loss-' + str(args.loss) + '_slic-' + str(args.slices) + \ '_sub-' + str(args.subsamp) + '_strid-' + str(args.stride) + \ '_lr-' + str(args.initial_lr) + '_recon-' + str(args.recon_wei) args.time = time args.check_dir = join(args.data_root_dir,'saved_models', args.net) try: makedirs(args.check_dir) except: pass args.log_dir = join(args.data_root_dir,'logs', args.net) try: makedirs(args.log_dir) except: pass args.tf_log_dir = join(args.log_dir, 'tf_logs') try: makedirs(args.tf_log_dir) except: pass args.output_dir = join(args.data_root_dir, 'plots', args.net) try: makedirs(args.output_dir) except: pass if args.pytorch: if args.train: from train_pytorch import train # Run training train(args, model, train_list, net_input_shape) #train(args, train_list, val_list, model_list[0], net_input_shape) else: if args.train: from train import train # Run training train(args, train_list, val_list, model_list[0], net_input_shape) if args.test: from test import test # Run testing test(args, test_list, model_list, net_input_shape) if args.manip: from manip import manip # Run manipulation of segcaps manip(args, test_list, model_list, net_input_shape)
def main(args): # Ensure training, testing, and manip are not all turned off assert (args.train or args.test or args.manip), 'Cannot have train, test, and manip all set to 0, Nothing to do.' # Load the training, validation, and testing data try: train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) except: # Create the training and test splits if not found split_data(args.data_root_dir, num_splits=4) train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) # Get image properties from first image. Assume they are all the same. img_shape = sitk.GetArrayFromImage(sitk.ReadImage(join(args.data_root_dir, 'imgs', train_list[0][0]))).shape net_input_shape = (img_shape[1], img_shape[2], args.slices) # Create the model for training/testing/manipulation model_list = create_model(args=args, input_shape=net_input_shape) print_summary(model=model_list[0], positions=[.38, .65, .75, 1.]) args.output_name = 'split-' + str(args.split_num) + '_batch-' + str(args.batch_size) + \ '_shuff-' + str(args.shuffle_data) + '_aug-' + str(args.aug_data) + \ '_loss-' + str(args.loss) + '_slic-' + str(args.slices) + \ '_sub-' + str(args.subsamp) + '_strid-' + str(args.stride) + \ '_lr-' + str(args.initial_lr) + '_recon-' + str(args.recon_wei) args.time = time args.check_dir = join(args.data_root_dir,'saved_models', args.net) try: makedirs(args.check_dir) except: pass args.log_dir = join(args.data_root_dir,'logs', args.net) try: makedirs(args.log_dir) except: pass args.tf_log_dir = join(args.log_dir, 'tf_logs') try: makedirs(args.tf_log_dir) except: pass args.output_dir = join(args.data_root_dir, 'plots', args.net) try: makedirs(args.output_dir) except: pass if args.train: from train import train # Run training train(args, train_list, val_list, model_list[0], net_input_shape) if args.test: from test import test # Run testing test(args, test_list, model_list, net_input_shape) if args.manip: from manip import manip # Run manipulation of segcaps manip(args, test_list, model_list, net_input_shape)
def main(args): image_shape = (128, 128) # Ensure training, testing, and manip are not all turned off assert (args.train or args.test or args.manip), 'Cannot have train, test, and manip all set to 0, Nothing to do.' # Load the training, validation, and testing data try: train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) except: # Create the training and test splits if not found split_data(args.data_root_dir, num_splits=4) train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) # Get image properties from first image. Assume they are all the same. im = cv2.imread(join(args.data_root_dir, 'imgs', train_list[0][0])) im = cv2.resize(im, image_shape) gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) gray = np.reshape(gray, (1, gray.shape[0], gray.shape[1])) img_shape = gray.shape net_input_shape = (img_shape[1], img_shape[2], args.slices) # Create the model for training/testing/manipulation model_list = create_model(args=args, input_shape=net_input_shape, class_num=6) print_summary(model=model_list[0], positions=[.38, .65, .75, 1.]) args.output_name = 'split-' + str(args.split_num) + '_batch-' + str(args.batch_size) + \ '_shuff-' + str(args.shuffle_data) + '_aug-' + str(args.aug_data) + \ '_loss-' + str(args.loss) + '_slic-' + str(args.slices) + \ '_sub-' + str(args.subsamp) + '_strid-' + str(args.stride) + \ '_lr-' + str(args.initial_lr) + '_recon-' + str(args.recon_wei) args.time = time args.check_dir = join(args.data_root_dir, 'saved_models', args.net) try: makedirs(args.check_dir) except: pass args.log_dir = join(args.data_root_dir, 'logs', args.net) try: makedirs(args.log_dir) except: pass args.tf_log_dir = join(args.log_dir, 'tf_logs') try: makedirs(args.tf_log_dir) except: pass args.output_dir = join(args.data_root_dir, 'plots', args.net) try: makedirs(args.output_dir) except: pass if args.train: print('training') from train import train # Run training while ([] in train_list): train_list.remove([]) CUDA_VISIBLE_DEVICES = 1 train(args, train_list, val_list, model_list[0], net_input_shape) if args.test: from test import test # Run testing while ([] in test_list): test_list.remove([]) for i in range(39,40): args.weights_path = f'saved_models/{args.net}/model' + str(i) + '.hdf5' test(args, test_list, model_list, net_input_shape, i) if args.manip: from manip import manip # Run manipulation of segcaps manip(args, test_list, model_list, net_input_shape)
def main(args): # Ensure training, testing, and manip are not all turned off assert (args.train or args.test or args.manip), 'Cannot have train, test, and manip all set to 0, Nothing to do.' # Load the training, validation, and testing data try: train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) except: # Create the training and test splits if not found split_data(args.data_root_dir, num_splits=4) train_list, val_list, test_list = load_data(args.data_root_dir, args.split_num) # Get image properties from first image. Assume they are all the same. #img_shape = sitk.GetArrayFromImage(sitk.ReadImage(join(args.data_root_dir, 'imgs', train_list[0][0]))).shape im=cv2.imread(join(args.data_root_dir, 'imgs', train_list[0][0])) gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) #im = cv2.imread(join(img_path, img_name), -1) #gray = im gray=np.reshape(gray, (1,gray.shape[0],gray.shape[1])) img_shape = gray.shape net_input_shape = (512, 512, args.slices) # Create the model for training/testing/manipulation model_list = create_model(args=args, input_shape=net_input_shape) print_summary(model=model_list[0], positions=[.38, .65, .75, 1.]) model_list[0].load_weights('liver_data3/saved_models_original/segcapsr3/model5.hdf5') #print('model20') #model_list[0].load_weights('C:/Users/212673708/Documents/TAU/semesterB/DeepLearningInMedicalImaging/modelLiver.hdf5') args.output_name = 'split-' + str(args.split_num) + '_batch-' + str(args.batch_size) + \ '_shuff-' + str(args.shuffle_data) + '_aug-' + str(args.aug_data) + \ '_loss-' + str(args.loss) + '_slic-' + str(args.slices) + \ '_sub-' + str(args.subsamp) + '_strid-' + str(args.stride) + \ '_lr-' + str(args.initial_lr) + '_recon-' + str(args.recon_wei) args.time = time args.check_dir = join(args.data_root_dir,'saved_models', args.net) try: makedirs(args.check_dir) except: pass args.log_dir = join(args.data_root_dir,'logs', args.net) try: makedirs(args.log_dir) except: pass args.tf_log_dir = join(args.log_dir, 'tf_logs') try: makedirs(args.tf_log_dir) except: pass args.output_dir = join(args.data_root_dir, 'plots', args.net) try: makedirs(args.output_dir) except: pass if args.train: print('training') from train import train # Run training while ([] in train_list): train_list.remove([]) CUDA_VISIBLE_DEVICES = 1 train(args, train_list, val_list, model_list[0], net_input_shape) if args.test: from test import test # Run testing while ([] in test_list): test_list.remove([]) i=5 args.weights_path = 'saved_models_original/segcapsr3/model'+str(i)+'.hdf5' test(args, test_list, model_list, net_input_shape,i) if args.manip: from manip import manip # Run manipulation of segcaps manip(args, test_list, model_list, net_input_shape)