batch_size = 128 data_size = 50 d1, d2 = data.get_dataset_triangles("train", data_size=data_size, hollow=True, batch_size=batch_size) d1_t, d2_t = data.get_dataset_triangles("test", data_size=data_size, hollow=True, batch_size=batch_size) image_A, image_B = (x[0].cuda() for x in next(zip(d1, d2))) net = inverseConsistentNet.InverseConsistentNet( network_wrappers.FunctionFromMatrix(networks.ConvolutionalMatrixNet()), lambda x, y: torch.mean((x - y)**2), 100, ) network_wrappers.assignIdentityMap(net, image_A.shape) net.cuda() import train optim = torch.optim.Adam(net.parameters(), lr=0.00001) net.train().cuda() xs = [] for _ in range(240): y = np.array(train.train2d(net, optim, d1, d2, epochs=50)) xs.append(y)
batch_size = 128 data_size = 50 d1, d2 = data.get_dataset_triangles("train", data_size=data_size, hollow=True, batch_size=batch_size) d1_t, d2_t = data.get_dataset_triangles("test", data_size=data_size, hollow=True, batch_size=batch_size) image_A, image_B = (x[0].cuda() for x in next(zip(d1, d2))) net_tmp = inverseConsistentNet.InverseConsistentAffineNet( networks.ConvolutionalMatrixNet(), 100, next(iter(d1))[0].size()) net = inverseConsistentNet.InverseConsistentAffineNet( networks.AffineFromUNet(networks.tallUNet2(), net_tmp.identityMap), 100, next(iter(d1))[0].size(), ) net.cuda() import train optim = torch.optim.Adam(net.parameters(), lr=0.00001) net.train().cuda()
from mermaidlite import compute_warped_image_multiNC, identity_map_multiN import torch import random import inverseConsistentNet import networks import data import describe BATCH_SIZE = 24 SCALE = 1 # 1 IS QUARTER RES, 2 IS HALF RES, 4 IS FULL RES working_shape = [BATCH_SIZE, 1, 40 * SCALE, 96 * SCALE, 96 * SCALE] GPUS = 4 net = inverseConsistentNet.InverseConsistentAffineDeformableNet( networks.ConvolutionalMatrixNet(dimension=3), networks.tallUNet2(dimension=3), lmbda=100, input_shape=working_shape, ) pretrained_weights = torch.load( "results/affine_knee_lambdaserver_2/knee_aligner_resi_net87000" ) pretrained_weights = OrderedDict( [ (a.split("regis_net.")[1], b) for a, b in pretrained_weights.items() if "regis_net" in a ] )
import random import pickle batch_size = 128 data_size = 50 d1, d2 = data.get_dataset_triangles("train", data_size=data_size, hollow=True, batch_size=batch_size) d1_t, d2_t = data.get_dataset_triangles("test", data_size=data_size, hollow=True, batch_size=batch_size) image_A, image_B = (x[0].cuda() for x in next(zip(d1, d2))) phi = networks.ConvolutionalMatrixNet() psi = networks.ConvolutionalMatrixNet() tmpnet = inverseConsistentNet.InverseConsistentAffineNet( phi, 100, next(iter(d1))[0].size()) net = inverseConsistentNet.InverseConsistentAffineNet( networks.DoubleAffineNet(phi, psi, tmpnet.identityMap, tmpnet.spacing), 100, next(iter(d1))[0].size(), ) net.cuda() import train optim = torch.optim.Adam(net.parameters(), lr=0.00001)