当前位置: 首页 > news >正文

中企动力做的网站怎么样海口网站排名提升

中企动力做的网站怎么样,海口网站排名提升,做壁纸的专业网站,我的网站百度怎么搜索不到了🚩🚩🚩Transformer实战-系列教程总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 4、Embbeding类 self.embeddings Embeddings(config, img_sizeimg_size) class Embeddings(nn.…

🚩🚩🚩Transformer实战-系列教程总目录

有任何问题欢迎在下面留言
本篇文章的代码运行界面均在Pycharm中进行
本篇文章配套的代码资源已经上传

4、Embbeding类

self.embeddings = Embeddings(config, img_size=img_size)
class Embeddings(nn.Module):"""Construct the embeddings from patch, position embeddings."""def __init__(self, config, img_size, in_channels=3):super(Embeddings, self).__init__()self.hybrid = Noneimg_size = _pair(img_size)if config.patches.get("grid") is not None:grid_size = config.patches["grid"]patch_size = (img_size[0] // 16 // grid_size[0], img_size[1] // 16 // grid_size[1])n_patches = (img_size[0] // 16) * (img_size[1] // 16)self.hybrid = Trueelse:patch_size = _pair(config.patches["size"])n_patches = (img_size[0] // patch_size[0]) * (img_size[1] // patch_size[1])self.hybrid = Falseif self.hybrid:self.hybrid_model = ResNetV2(block_units=config.resnet.num_layers,width_factor=config.resnet.width_factor)in_channels = self.hybrid_model.width * 16self.patch_embeddings = Conv2d(in_channels=in_channels,out_channels=config.hidden_size,kernel_size=patch_size,stride=patch_size)self.position_embeddings = nn.Parameter(torch.zeros(1, n_patches+1, config.hidden_size))self.cls_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size))self.dropout = Dropout(config.transformer["dropout_rate"])def forward(self, x):# print(x.shape)B = x.shape[0]cls_tokens = self.cls_token.expand(B, -1, -1)# print(cls_tokens.shape)if self.hybrid:x = self.hybrid_model(x)x = self.patch_embeddings(x)#Conv2d: Conv2d(3, 768, kernel_size=(16, 16), stride=(16, 16))# print(x.shape)x = x.flatten(2)# print(x.shape)x = x.transpose(-1, -2)# print(x.shape)x = torch.cat((cls_tokens, x), dim=1)# print(x.shape)embeddings = x + self.position_embeddings# print(embeddings.shape)embeddings = self.dropout(embeddings)# print(embeddings.shape)return embeddings

接上前面的debug模式,在构造模型部分一直步入到Embbeding类中:

  1. 构造函数,传入了图像大小224*224,通道数3,以及配置参数
  2. patch_size=[16,16],16*16的区域选出一份特征,这个参数自己定义
  3. n_patches,224224的图像能够切分出1616的格子数量,(224/16)(224/16)=1414=196个
  4. 196就是我们要定义的序列的长度了
  5. patch_embeddings,是一个二维卷积,输入通道为3,输出通道为768,卷积核为patch_size=1616,步长为1616,步长为1616就表明原本224224的图像卷积后的长宽就为14*14了
  6. position_embeddings,初始化参数全部为0 ,形状为[1,197,768],197=196+1,加一的原因是在Transformer模型中,通常会在序列的开始添加一个可学习的类标记(class token),它在训练过程中帮助模型捕获全局信息以用于分类任务。position_embeddings是用来记录位置信息的
  7. cls_token,初始化参数全部为0,形状为[1,1,768]
  8. 因为要涉及到全连接层,所以加上Dropout

5、Encoder类

self.encoder = Encoder(config, vis)
class Encoder(nn.Module):def __init__(self, config, vis):super(Encoder, self).__init__()self.vis = visself.layer = nn.ModuleList()self.encoder_norm = LayerNorm(config.hidden_size, eps=1e-6)for _ in range(config.transformer["num_layers"]):layer = Block(config, vis)self.layer.append(copy.deepcopy(layer))def forward(self, hidden_states):# print(hidden_states.shape)attn_weights = []for layer_block in self.layer:hidden_states, weights = layer_block(hidden_states)if self.vis:attn_weights.append(weights)encoded = self.encoder_norm(hidden_states)return encoded, attn_weights

接上前面的debug模式,在构造模型部分步入到Encoder类中:

  1. 构造函数传进配置参数
  2. vis,设置可视化
  3. layer,设置PyTorch的一个列表
  4. encoder_norm,LayerNorm,Batch Normalization是对Batch做归一化,LayerNorm对层
  5. 循环添加Block:循环config.transformer["num_layers"]次,每次都创建一个Block实例并添加到self.layer中。这里的Block是一个定义了Transformer编码器层的类,它包括自注意力机制和前馈网络。copy.deepcopy(layer)确保每次都是向ModuleList添加一个新的、独立的Block副本

之前ConvNet的任务中,都是使用Batch 做归一化,为什么Transformer是对Layer做归一化呢,Transformer是在NLP任务中提出来的,每一句话的单词个数都不一样,太长的阶段,短的补0,如果是对batch做归一化,长句子的后面一些地方要和短句子补0的地方做归一化,改用Layer归一化实现显著提升效果的情况。

http://www.wooajung.com/news/27317.html

相关文章:

  • ie浏览器哪个做网站稳定最新营销模式
  • 网站怎么防k怎么做好推广和营销
  • 怎么做冒牌网站报个电脑培训班要多少钱
  • wordpress后台操作教程aso优化推广公司
  • 网站建设合同需注意什么百度查询最火的关键词
  • 沈阳教做网站推广普通话手抄报句子
  • 做网站灵宝构建新发展格局
  • 淮安网站建设报价西安seo代运营
  • 专业群建设网站hao123影视
  • 一个域名能同时做2个网站吗搜索引擎推广的费用
  • 宝鸡商城网站开发域名归属查询
  • 如何让网站上线最近三天的新闻大事摘抄
  • 适合设计制作公司的网站asp远吗网络营销的工具有哪些
  • aspx网站html静态化怎么做整合营销方案案例
  • 学校网站制作价格百度怎么搜索网址打开网页
  • python做项目的网站茶叶推广软文
  • 在电脑上做苗木网站百青藤广告联盟
  • wordpress 字体样式关键词优化怎么弄
  • 建设门户网站发展前景2018化学sem是什么意思
  • 聊城高端网站设计建设武汉本地seo
  • 做网站的费用计入哪个科目seo排名软件怎么做
  • 南溪门户网关键词优化快速排名
  • wordpress子目录和多域名宁波百度快照优化排名
  • 网页制作免费的素材网站郑州seo技术博客
  • 找程序员的网站百家号排名
  • 如何利用某个软件做一个网站汕头seo推广外包
  • 蚌埠网站制作公司费用电子报刊的传播媒体是什么
  • 网站顾客评价赣州seo外包怎么收费
  • 可以免费做网站推广的平台东莞企业网站模板建站
  • 网站服务公司代买空间有无义务长沙优化科技有限公司正规吗