MLP-Mixer: An all-MLP Architecture for Vision
时间:2021-09-06
本文章向大家介绍MLP-Mixer: An all-MLP Architecture for Vision,主要包括MLP-Mixer: An all-MLP Architecture for Vision使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
https://arxiv.org/pdf/2105.01601
----------------------------------------------------------
2021-09-02
感知机:判别模型 线性二分类
token-mixing:作用于列,混合提炼不同patch的特征 depth-wise conv
channel-mixing:作用于行,混合提炼不同channel的特征 1*1卷积
class PreNormResidual(nn.Module): def __init__(self,dim,fn): super(PreNormResidual, self).__init__() self.fn=fn self.norm=nn.LayerNorm(dim) def forward(self,x): return self.fn(self.norm(x))+x def FeedForward(dim, expansion_factor=4, dropout=0, dense=nn.Linear): return nn.Sequential( dense(dim,dim*expansion_factor), nn.GELU(), nn.Dropout(dropout), dense(dim*expansion_factor,dim), nn.Dropout(dropout) ) def MLPMixer(*,image_size,channels,patch_size,dim,depth,num_classes, expansion_factor=4, dropout=0): num_patches=(image_size//patch_size)**2 chan_first,chan_last=partial(nn.Conv1d,kernel_size=1),nn.Linear return nn.Sequential( Rearrange("b c (h p1) (w p2) -> b (h w) (p1 p2 c)",p1=patch_size,p2=patch_size), nn.Linear((patch_size**2)*channels,dim), *[ nn.Sequential( PreNormResidual(dim,FeedForward(num_patches,expansion_factor,dropout,chan_first)), PreNormResidual(dim,FeedForward(dim,expansion_factor,dropout,chan_last)) ) for _ in range(depth)], nn.LayerNorm(dim), Reduce("b n c -> b c","mean"), nn.Linear(dim,num_classes) )
原文地址:https://www.cnblogs.com/shuimobanchengyan/p/15218928.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java的位运算符详解实例。
- 用一个测试类简化排序算法时间复杂度的研究
- R语言之可视化(33)绘制差异基因分析统计图
- Java transient不被持久化的原因
- 举一个有趣的例子,让你轻松搞懂JVM内存管理
- gulp的使用
- SpringBoot中 使用[info]日志级别打印mybatis sql语句
- Spring Boot 使用策略模式指定Service实现类
- 55. Vue webpack的基本使用
- ajax无刷新页面切换,历史记录后退前进解决方案
- 一起来学演化计算-SBX模拟二进制交叉算子和DE差分进化算子
- 通过与C++程序对比,彻底搞清楚JAVA的对象拷贝
- Spring - application.yml 数字读取错误、eg: 000001
- Swagger2 UI 提示"请确保swagger资源接口正确"解决办法
- Manytasking Jmetal 代码反向解析 2_MMDTLZ