pytorch(5)--unet,unet++ 、 融合deep supervision的unet++

 yi

一、前言

    本篇总结unet、unet++及添加了deep supervision的unet++ 原理及代码pytorch实现

二、原理

 unet  和 unet++结构图分别如左右所示:

pytorch(5)--unet,unet++ 、 融合deep supervision的unet++_第1张图片        pytorch(5)--unet,unet++ 、 融合deep supervision的unet++_第2张图片

上面可看出unet 是简单向下采样4次,最后缩放16倍,再向上采样4次还原到原图像

unet++,则将各支路的节点都尽可能搭配利用起来

三、unet 和 unet++ 代码

先实现基础 vgg  block:

import torch
import torch.nn as nn
import torch.nn.functional as F


class VGGBlock(nn.Module):
    def __init__(self, in_channels, middle_channels, out_channels, act_func=nn.ReLU(inplace=True)):
        super(VGGBlock, self).__init__()
        self.act_func = act_func
        self.c

你可能感兴趣的:(pytorch,pytorch,unet++,nested,unet,unet++)