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

公司微网站建设方象科技专注于什么领域

公司微网站建设,方象科技专注于什么领域,网站开发过程可分为,手机网站免费的目录 在模块里面加在两个模块之间加3维到4维在模块之前加2维到4维 举例 想在vision_transformer里面加SENet 1.在model文件下新建一个python文件 2.把 模块文件里的整个SENet代码复制到新的python文件中 3.在开头导入 from model.SENet(新建文件名) import SEL…

目录

  • 在模块里面加
  • 在两个模块之间加+3维到4维
  • 在模块之前加+2维到4维
    举例
    在这里插入图片描述

想在vision_transformer里面加SENet

1.在model文件下新建一个python文件
2.把 模块文件里的整个SENet代码复制到新的python文件中
在这里插入图片描述
3.在开头导入 from model.SENet(新建文件名) import SELayer(新建文件中的类名)
4.在后面对SENet实例化
senet(自己定的命名)=SELayer( 类名)(channel=3)
//输入通道数 ,通道数填什么后面会说
注意:缝合模块,要注意通道数
在这里插入图片描述
5.找到要改的这个类 class VisionTransformer(nn.Module):
6.找到其中的 def forward(self, x):
7.输出之前的形状
print(f"之前前前的形状为{x.shape}“)# ([32,3,224,224])
8.运行 train代码输出之前的形状
在这里插入图片描述
9.把输出的形状大小做注释,写在print(f"之前前前的形状为{x.shape}”)的后面
10.在 class VisionTransformer(nn.Module): 初始化里面找到def init,在最后面加上
self.senet=senet
在这里插入图片描述
11.找到后面的 forward部分

x= self.senet(x)//对上x的通道数即可,由上面的【323224224】可知,通道数=3    
x=self.forward_features(x)//特征提取
  1. 返回文件开头,填写channel=3
senet(自己定的命名)=SELayer( 类名)(channel=3

13.保存代码,开始运行trian代码

加在Patch Embedding之后,进入 Transformer Blocks之前:(三维转四维)

1.先找到 class VisionTransformer(nn.Module):
中的 def forward_features(self, x):
x = self.pos_drop(x + self.pos_embed)
//pos_embed模块使用的地方,如果找不到问ai
在这里插入图片描述
2.找到Transformer Blocks
在这里插入图片描述
3.在两者中间加SENet,先打印x的形状

#1.打印x的形状
print(x.shape)# torch.Size([32,197,768])
#2.设置参数放对应的值
B, N,D = x.shape # 32, 197,768  
# 3.将class token移除以匹配网格形状
patches = x[:, 1:, :] #去掉 cls token,形状变为[B,196,D]
# 假设D=C,即嵌入维度作为通道数
#4.将每个patch嵌入变成适合SENet的形状[B,C,H,W],在这里我们假设H=W=14
patch_size = int(math.sqrt(N - 1)) # 196 -> sqrt(196) = 14,即切片大小
x = patches.view(B, patch_size, patch_size, D).permute(0, 3, 1, 2) # [B, 196, D] -> [B, C=D, H=14, W=14] c=d=768,  primute里面的0,表示第一个B不变位置,3对应原本的D-》D放第二个位置,原本1位和2位的patch_size, patch_size 都后移一位# 注意:这里的C=D=768-》channel=768#5.重新输入调整
x_senet = senet(x) # [B, C, H, W] -> [B, C, H, W]#6.将SENet的输出重新调整为原始的维度
x_senet = x_senet.permute(0, 2, 3, 1).view(B, patch_size * patch_size, D) # permute后的结果:[B, H,w,c] -> [B, 196, D]
# 7.重新添加 cls token
cls_token = self.cls_token.expand(B, -1, -1) # [B, 1, D]
x = torch.cat((cls_token, x_senet), dim=1) # [B, 1, D] + [B, 196, D] -> [B, 197, D]

4.在class VisionTransformer(nn.Module):的init里面对senet示例化

self.senet=senet

在这里插入图片描述
5.注意到channel=768,把开头import后面的channel改为768
在这里插入图片描述

加到MLP Head之前(二维转4维)

1.找到要改的这个类 class VisionTransformer(nn.Module): ,找到其中的 def forward(self, x):
找到MLPHead应用的地方
在这里插入图片描述
2.在前面 print(x.shape)->运行train代码
3.

if x.shape[o]!=32: #如果第一个不是,32passpass
else:x = x.view(32, 3, 16, 16) # [batch_size, channels, height, width] 把768化为3*16*16,编成4维的#注意这里的channel=3x = senet(x)# 32,3,16,16 进入SENetx= x.view(32,-1) # -1表示默认计算后面3个的维度,即3*16*16,-1也可以写768 
#结束
print(x.shape)

在这里插入图片描述
4.在代码前面加

from module.SENet import SELayer
senet = SELayer(channel=3) 

在这里插入图片描述

http://www.dtcms.com/wzjs/290915.html

相关文章:

  • 做的好的家装网站2022新闻大事件摘抄
  • 番禺网站推广个人怎么做推广
  • 西安做网站的公司电话朝阳seo推广
  • 手机web网站微信公众号怎么推广
  • 自己做网站投入seo薪酬如何
  • dw做网站怎么排版超级外链在线发布
  • 仙游住房与城乡建设局网站我想接app注册推广单
  • 网站建设阝金手指专业十四seo每日一帖
  • 赌博网站是怎么做的互联网广告推广公司
  • 天津建设工程信息网吧广州网站优化工具
  • 网站怎么备案在哪里一个万能的营销方案
  • 湖南省政府 网站建设人工智能培训心得
  • 网站备案后 换服务器推广计划怎么做
  • 网站域名备案服务2022十大热点事件及评析
  • 小企业公司网站怎么建旅游网站网页设计
  • 零基础一个人做网站百度推广工资多少钱一个月
  • 外贸 礼品 网站软文推广方案
  • wordpress中的全站链接怎么改线上推广的方式有哪些
  • 网站中如何做图片轮播2024年阳性什么症状
  • 请兼职做企业网站设计怎么收费谷歌搜索引擎入口363
  • js 曲线 网站html网页制作动态效果
  • 站酷设计网页版做网站seo推广公司
  • 有免费查企业的软件吗seo免费优化网站
  • 品牌公关具体要做些什么信息流优化师工作内容
  • 国际展览中心有什么展览产品seo是什么意思
  • 网站建设CEO手机怎么制作网页
  • wordpress 标签模板下载关键词优化排名软件流量词
  • 俄语企业网站制作关键词seo
  • 为什么织梦做的网站容易被攻击阿里指数官网最新版本
  • 垂直行业门户网站有哪些市场营销推广策略