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

深圳营销型网站建设+宝安西乡做淘客的网站关键词有哪些

深圳营销型网站建设+宝安西乡,做淘客的网站关键词有哪些,浦口区网站建设,网站建设开发教程什么是UNet U-Net由收缩路径和扩张路径组成。收缩路径是一系列卷积层和汇集层#xff0c;其中要素地图的分辨率逐渐降低。扩展路径是一系列上采样层和卷积层#xff0c;其中特征地图的分辨率逐渐增加。 在扩展路径中的每一步#xff0c;来自收缩路径的对应特征地图与当前特征…什么是UNet U-Net由收缩路径和扩张路径组成。收缩路径是一系列卷积层和汇集层其中要素地图的分辨率逐渐降低。扩展路径是一系列上采样层和卷积层其中特征地图的分辨率逐渐增加。 在扩展路径中的每一步来自收缩路径的对应特征地图与当前特征地图级联。 主干结构解析 左边为特征提取网络编码器右边为特征融合网络解码器 高分辨率—编码—低分辨率—解码—高分辨率 特征提取网络 高分辨率—编码—低分辨率 前半部分是编码, 它的作用是特征提取(获取局部特征,并做图片级分类)得到抽象语义特征 由两个3x3的卷积层RELU再加上一个2x2的maxpooling层组成一个下采样的模块一共经过4次这样的操作 特征融合网络 低分辨率—解码—高分辨率 利用前面编码的抽象特征来恢复到原图尺寸的过程, 最终得到分割结果(掩码图片) 代码 import torch.nn as nn import torch# 编码器(论文中称之为收缩路径)的基本单元 def contracting_block(in_channels, out_channels):block torch.nn.Sequential(# 这里的卷积操作没有使用padding,所以每次卷积后图像的尺寸都会减少2个像素大小nn.Conv2d(kernel_size(3, 3), in_channelsin_channels, out_channelsout_channels),nn.BatchNorm2d(out_channels),nn.ReLU(),nn.Conv2d(kernel_size(3, 3), in_channelsout_channels, out_channelsout_channels),nn.BatchNorm2d(out_channels),nn.ReLU())return block# 解码器论文中称之为扩张路径的基本单元 class expansive_block(nn.Module):def __init__(self, in_channels, mid_channels, out_channels):super(expansive_block, self).__init__()# 每进行一次反卷积通道数减半尺寸扩大2倍self.up nn.ConvTranspose2d(in_channels, in_channels // 2, kernel_size(3, 3), stride2, padding1,output_padding1)self.block nn.Sequential(# 这里的卷积操作没有使用padding,所以每次卷积后图像的尺寸都会减少2个像素大小nn.Conv2d(kernel_size(3, 3), in_channelsin_channels, out_channelsmid_channels),nn.BatchNorm2d(mid_channels),nn.ReLU(),nn.Conv2d(kernel_size(3, 3), in_channelsmid_channels, out_channelsout_channels),nn.BatchNorm2d(out_channels),nn.ReLU())def forward(self, e, d):d self.up(d)# concat# e是来自编码器部分的特征图d是来自解码器部分的特征图它们的形状都是[B,C,H,W]diffY e.size()[2] - d.size()[2]diffX e.size()[3] - d.size()[3]# 裁剪时先计算e与d在高和宽方向的差距diffY和diffX然后对e高方向进行裁剪具体方法是两边分别裁剪diffY的一半# 最后对e宽方向进行裁剪具体方法是两边分别裁剪diffX的一半# 具体的裁剪过程见下图一e e[:, :, diffY // 2:e.size()[2] - diffY // 2, diffX // 2:e.size()[3] - diffX // 2]cat torch.cat([e, d], dim1) # 在特征通道上进行拼接out self.block(cat)return out# 最后的输出卷积层 def final_block(in_channels, out_channels):block nn.Conv2d(kernel_size(1, 1), in_channelsin_channels, out_channelsout_channels)return blockclass UNet(nn.Module):def __init__(self, in_channel, out_channel):super(UNet, self).__init__()# 编码器 (Encode)self.conv_encode1 contracting_block(in_channelsin_channel, out_channels64)self.conv_pool1 nn.MaxPool2d(kernel_size2, stride2)self.conv_encode2 contracting_block(in_channels64, out_channels128)self.conv_pool2 nn.MaxPool2d(kernel_size2, stride2)self.conv_encode3 contracting_block(in_channels128, out_channels256)self.conv_pool3 nn.MaxPool2d(kernel_size2, stride2)self.conv_encode4 contracting_block(in_channels256, out_channels512)self.conv_pool4 nn.MaxPool2d(kernel_size2, stride2)# 编码器与解码器之间的过渡部分(Bottleneck)self.bottleneck nn.Sequential(nn.Conv2d(kernel_size(3, 3), in_channels512, out_channels1024),nn.BatchNorm2d(1024),nn.ReLU(),nn.Conv2d(kernel_size(3, 3), in_channels1024, out_channels1024),nn.BatchNorm2d(1024),nn.ReLU())# 解码器(Decode)self.conv_decode4 expansive_block(1024, 512, 512)self.conv_decode3 expansive_block(512, 256, 256)self.conv_decode2 expansive_block(256, 128, 128)self.conv_decode1 expansive_block(128, 64, 64)self.final_layer final_block(64, out_channel)def forward(self, x):# Encodeencode_block1 self.conv_encode1(x)encode_pool1 self.conv_pool1(encode_block1)encode_block2 self.conv_encode2(encode_pool1)encode_pool2 self.conv_pool2(encode_block2)encode_block3 self.conv_encode3(encode_pool2)encode_pool3 self.conv_pool3(encode_block3)encode_block4 self.conv_encode4(encode_pool3)encode_pool4 self.conv_pool4(encode_block4)# Bottleneckbottleneck self.bottleneck(encode_pool4)# Decodedecode_block4 self.conv_decode4(encode_block4, bottleneck)decode_block3 self.conv_decode3(encode_block3, decode_block4)decode_block2 self.conv_decode2(encode_block2, decode_block3)decode_block1 self.conv_decode1(encode_block1, decode_block2)final_layer self.final_layer(decode_block1)return final_layerif __name__ __main__:image torch.rand((1, 3, 572, 572))unet UNet(in_channel3, out_channel2)mask unet(image)print(mask.shape)#输出结果torch.Size([1, 2, 388, 388])
http://www.w-s-a.com/news/594598/

相关文章:

  • 加强网站建设和维护工作新闻大全
  • 红鱼洞水库建设管理局网站左右左布局网站建设
  • 手机网站建设地址做网站公
  • 贵州建设厅网站首页网络公司除了做网站
  • 运动鞋建设网站前的市场分析wordpress 搜索框代码
  • app开发网站开发教程平台网站开发的税率
  • 百度网站优化排名加强服务保障满足群众急需i
  • 宁夏建设职业技术学院网站安徽网站优化建设
  • 四川关于工程建设网站硬盘做网站空间
  • 桂林网站制作培训学校外包seo公司
  • 莱州网站建设方案北京装修公司口碑
  • 大型网站建设济南兴田德润团队怎么样韩国女足出线了吗
  • 南通做网站找谁重庆网络推广网站推广
  • ps网站主页按钮怎么做怎样做网站的用户分析
  • 哪个网站做黑色星期五订酒店活动公司网络营销推广软件
  • 岳阳新网网站建设有限公司网页设计基础考试题目
  • 辽宁响应式网站费用海外平台有哪些
  • 杨凌规划建设局网站网站后台建设怎么进入
  • 有赞商城网站建设企业管理咨询是做什么的
  • 提供衡水网站建设中国石化工程建设有限公司邮政编码
  • 大芬地铁站附近做网站工业设计公司报价
  • 建设网站最强永年网站建设
  • 网站分站代理加盟wordpress国内工作室主题
  • 东营远见网站建设公司服装网站建设内容
  • 互助平台网站建设费用百度seo优化怎么做
  • lol英雄介绍网站模板工商局网上注册
  • 电商网站运营策划什么样的网站容易做seo
  • 网站备案需要什么流程怎么创建小程序卖东西
  • 陇西网站建设 室内设计持啊传媒企业推广
  • 连云港做网站制作首选公司如何让单位网站做防护