def get_test_loss(self, batch_moving, batch_fixed, n=9, lamda=0.01):
with torch.set_grad_enabled(False):
registered_image = self.voxelmorph(batch_moving, batch_fixed)
batch_fixed = np.array(batch_fixed) #将torch 转为numpy
batch_moving = np.array(batch_moving)
registered_image = np.array(registered_image)
img_fixed = batch_fixed[0] * 255 #取batch中的第一个数据
img_moving = batch_moving[0] * 255 #torch中的像素值都是经过归一化的,所以乘255
img_registered = registered_image[0] * 255
cv2.imwrite("img_fixed.jpg", img_fixed)
cv2.imwrite("img_moving.jpg", img_moving)
cv2.imwrite("registered.jpg", img_registered)
val_loss = self.vm.vox_morph_loss(
registered_image, batch_fixed, n, lamda)
val_dice_score = self.vm.dice_score(registered_image, batch_fixed)
return val_loss, val_dice_score
python 取torch中的数据并转为图片
最新推荐文章于 2024-06-30 21:04:13 发布