• VIT(Vision Transformer)学习(三)-纯VIT之swin transformer模型理解


    1. class BalanceLoss(nn.Module):
    2. def __init__(self, ignore_index=255, reduction='mean', weight=None):
    3. super(BalanceLoss, self).__init__()
    4. self.ignore_label = ignore_index
    5. self.reduction = reduction
    6. self.criterion = nn.NLLLoss(reduction=reduction, ignore_index=ignore_index, weight=weight)
    7. def forward(self, pred, target):
    8. # prob = torch.exp(pred)
    9. # # prob = F.softmax(prob, dim=1) # i add this
    10. # weighted_pred = pred * (1 - prob) ** 2
    11. # loss = self.criterion(weighted_pred, target)
    12. prob = torch.exp(pred)
    13. prob = F.softmax(prob, dim=1) # i add this
    14. weighted_pred = F.log_softmax(pred, dim=1) * (1 - prob) ** 2
    15. loss = self.criterion(weighted_pred, target)
    16. return loss

    语义分割网络纯 TRF 结构:VIT主干作为编码器,设计一个基于 TRF 架构的解码器。

    今天学习swin transformer

    源码地址: https://github.com/microsoft/Swin-Transform

    哔哩哔哩讲解:12.1 Swin-Transformer网络结构详解_哔哩哔哩_bilibili

    博文地址:Swin-Transformer网络结构详解_swin transformer-CSDN博客
    up主的github地址:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

    对比:下采样不一样;窗口分割

    卷积完成以下操作:48个卷积核为4*4,步长为4的进行卷积(听到这发现不太懂,回到了这一步学习Vision Transformer详解-CSDN博客

    通过Patch Partition ,图像宽高缩减为1/4,通道变为48(16个patch*3个通道)

    通过Linear embedding (Layer Norm),图像channel变为C

    然后就是通过四个Stage构建不同大小的特征图,除了Stage1中先通过一个Linear Embeding层外,剩下三个stage都是先通过一个Patch Merging层进行下采样(后面会细讲)。然后都是重复堆叠Swin Transformer Block注意这里的Block其实有两种结构,如图(b)中所示,这两种结构的不同之处仅在于一个使用了W-MSA结构,一个使用了SW-MSA结构。而且这两个结构是成对使用的,先使用一个W-MSA结构再使用一个SW-MSA结构。所以你会发现堆叠Swin Transformer Block的次数都是偶数(因为成对使用)。

    图(表7)是原论文中给出的关于不同Swin Transformer的配置,T(Tiny),S(Small),B(Base),L(Large),其中:

    win. sz. 7x7表示使用的窗口(Windows)的大小
    dim表示feature map的channel深度(或者说token的向量长度)
    head表示多头注意力模块中head的个数

    最后对于分类网络,后面还会接上一个Layer Norm层、全局池化层以及全连接层得到最终输出。图中没有画,但源码中是这样做的。
     

    Multi-Head Attention

    Transformer中Self-Attention以及Multi-Head Attention详解_哔哩哔哩_bilibili

  • 相关阅读:
    C#winfrom端屏幕截图功能的简单实现(修改了屏幕的缩放比例后,截图功能异常,慎用!!!)
    给github项目贡献代码
    Redis
    maven jar依赖地址
    JAVA微信小程序景区景点小程序毕业设计 开题报告
    Window 添加与更新流程
    串口协议、I2C协议、SPI协议总结
    React之高阶组件
    11.10
    PDF打印 PDFPrinting.Net v5.2.7.0 Crack
  • 原文地址:https://blog.csdn.net/weixin_61235989/article/details/133786146