def prepareInputsForGPU(image, full_mask, gaa_mean, gaa_std): """ This packs a series of operations that transfer input to GPU and then format and normalizes it. Inputs: image, full_mask = MR images and their masks gaa_mean, gaa_std = input statistics Outputs: image and target for neural network on GPU """ # transfer input to GPU gImage = fast_transfer(image) gImage = gpuDecompress(gImage) gMask = fast_transfer(full_mask, isImage=False) gMask = gpuDecompressMask(gMask, 88, 576, 576) image1, target = gpuNormalise(gImage, gMask, gaa_mean, gaa_std) return image1, target
output_dir = r'C:\Users\wfok007\femuring\imaging\AtriaSeg_2018_training\transformation\ResNet' debug_dir = r'C:\Users\wfok007\femuring\imaging\AtriaSeg_2018_training\debug' hpc = r'Z:\mpi_heart' weight_dir = 'Z:\mpi_heart\weight_checkpoints' mean, std = load_stat() num_ranks = 125 num_ranks_train = 375 od, oh, ow = 88, 112, 112 multiple = 0.25 model = createModel(od, oh, ow, multiple) # put the statistics on the GPU aa_mean, aa_std = addAxis(mean, std) gaa_mean, gaa_std = fast_transfer(aa_mean), fast_transfer(aa_std) # initialize the data for validation and training generator_valid = metaGen('valid', num_ranks, hpc) generator_train = metaGen('train', num_ranks_train, hpc) criterion = Dice_Loss() accuracy = non_differentiable_Dice_coef() learning_rate = math.pow(10, -1.5) T = 50 lookup, storedKeys, lrs = createCyclical(T, learning_rate, 'highLow', min_fraction=1 / 10)