Github复现之TransUNet
代码复现TransUnet可以看这篇文章,博主写的还是很详细的。
复现TransUnet,博主提供的数据集是10241024的用的时候要裁剪成256256
以下是在调试代码时候遇到的一些踩坑问题
-
CUDA的问题
根据自己的显卡配置CUDA环境,配置CUDA可以看这篇文章,这里注意的是安装的torch要安装gpu版本,最好去官网下载。如果要换cpu计算的话,将torch换成cpu版本的再把代码中用的.cuda()都换成.to(device) -
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
把train_normal.py的50行那个Dice_bce_loss替换成Diceloss -
预测函数的问题
原代码提供的预测函数一直不理解为啥要对img先进行90°旋转再与元数据连接等等一系列操作,用原代码中的预测函数导致我预测的结果是对称的,就很奇怪。后经过调整把用的验证数据精度那的预测函数后结果就正常了。
def test_one_img(self, img):
# pred = self.net.forward(img).cpu()
img = np.expand_dims(img, axis=0)
img = V(torch.Tensor(img).cuda())
pred = self.net.forward(img)
mask = pred.squeeze().cpu().data.numpy()
return mask
其他都是一些很小的问题了,看提示也能解决。