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

潍坊网站制作网络科技站长工具下载app

潍坊网站制作网络科技,站长工具下载app,郑州营销型网站制作,手机可以制作游戏软件有哪些1. 辅助函数 calc_ins_mean_std(x, eps1e-12) 功能:计算每张图像每个通道的均值和标准差。输入:一个4维张量(batch_size x channels x height x width)。输出:两个3维张量,分别表示均值和标准差。均值的维…

1. 辅助函数

calc_ins_mean_std(x, eps=1e-12)
  • 功能:计算每张图像每个通道的均值和标准差。
  • 输入:一个4维张量(batch_size x channels x height x width)。
  • 输出:两个3维张量,分别表示均值和标准差。均值的维度为 (batch_size, channels, 1)。
instance_norm_mix(content_feature, style_feature)
  • 功能:将内容特征归一化到风格特征的分布下。
  • 步骤
    • 计算content_feat和style_feat的均值和标准差。
    • 使用style_feat的统计量对content_feat进行变换。
cn_rand_bbox(x, use_crop=True)
  • 功能:生成随机边界框,用于crop操作。
  • 参数:x为输入图像,use_crop决定是否应用 crop。
  • 返回:如果use_crop为True,按比例缩放和裁剪图像,并返回新尺寸。
cn_op_2ins_space_CHAN(x, use_crop=True)
  • 功能:跨实例或空间变换特征。
  • 参数:输入x、是否使用crop。
  • 步骤
    • 如果使用 crop,则生成随机边界框并裁剪图像。
    • 将输入在通道维度上分割,交换特征图块,或按比例缩放。

2. 模块实现

CrossNorm
  • 结构:包含一个操作函数cn_op_2ins_space_CHAN,用于跨实例的统计交换。
  • 特点
    • 在训练时active为True时才应用。
    • 可选参数影响是否应用crop和空间变换。
SelfNorm
  • 结构:全连接层结合BN层,生成通道特定的缩放和平移参数。
  • 特点
    • 使用两个1维卷积层(g_fc和可选的f_fc)来生成调整因子。
    • 应用sigmoid激活函数限制范围。
CNSN
  • 结构:组合CrossNorm和SelfNorm模块。
  • 流程:先应用CrossNorm(如果active),然后使用SelfNorm自适应调整特征。

3. 使用示例

# 创建 CrossNorm 和 SelfNorm 的实例
crossnorm = CrossNorm()
selfnorm = SelfNorm(chan_num=3)
block = CNSN(crossnorm, selfnorm)input = torch.rand(32, 3, 224, 224)
output = block(input)
print(output.size())  # 输出与输入相同大小

4. 总结

  • 主要功能:CrossNorm和SelfNorm模块通过自适应调整特征图的统计量,增强模型对分布偏移的鲁棒性。
  • 适用场景:在训练阶段使用这些模块可以提高模型泛化能力,而无需修改网络结构。

5. 注意事项

  • 使用时需确保数据预处理标准化已正确完成,否则自适应调整可能无效。
  • CrossNorm应仅在训练或特定需要的阶段启用,以避免推理时计算开销过大。
  • SelfNorm提供了对每个通道更细致的控制,适用于需要通道间较强独立性的任务。

6. 代码解释

import torchdef calc_ins_mean_std(x, eps=1e-12):# 计算均值和标准差mean = x.mean(dim=(0, 2, 3), keepdim=True)std = x.std(dim=(0, 2, 3), keepdim=True).add(eps)return mean, stddef instance_norm_mix(content_feature, style_feature):content_mean, content_std = calc_ins_mean_std(content_feature)style_mean, style_std = calc_ins_mean_std(style_feature)normalized_content = (content_feature - content_mean) / content_stdtransformed_content = normalized_content * style_std + style_meanreturn transformed_contentdef cn_rand_bbox(x, use_crop=True):if not use_crop:return x, None_, _, h, w = x.size()# 生成随机裁剪区域,例如按比例缩放size = int(h // 2)boxes = []for i in range(0, h, size):for j in range(0, w, size):if i + size > h or j + size > w:continueboxes.append((i, j, i+size, j+size))return x, None  # 此处仅为示例,实际应实现更复杂的裁剪def cn_op_2ins_space_CHAN(x, use_crop=True):if not use_crop:return xelse:x, _ = cn_rand_bbox(x, use_crop)return xclass CrossNorm(torch.nn.Module):def __init__(self):super().__init__()def forward(self, x):if self.training and self.active:# 应用跨实例变换,如交换特征图块或croptransformed_x = cn_op_2ins_space_CHAN(x)return transformed_xelse:return xclass SelfNorm(torch.nn.Module):def __init__(self, chan_num):  # 假设chan_num是通道数super().__init__()self.g_conv1d = torch.nn.Conv1d(chan_num, Chan_num, kernel_size=2)self.bn = torch.nn.BatchNorm1d(Chan_num)  # 可选if is_two:self.f_conv1d = torch.nn.Conv1d(chan_num, chan_num, kernel_size=2)def forward(self, x):batch_size, channels = x.size()[:2]# 生成g_yx_flat = x.view(batch_size * channels, -1).transpose(0, 1)g_y = torch.sigmoid(self.g_conv1d(x_flat))g_y = g_y.transpose(0, 1).contiguous().view(batch_size, channels, -1)transformed_x = x * g_yif hasattr(self, 'f_conv1d'):f_y = ... # 类似生成,可能加上与mean的关系transformed_x += mean * f_yreturn transformed_xclass CNSN(torch.nn.Module):def __init__(self, cross_norm, self_norm):super().__init__()self.cross_norm = cross_normself.self_norm = self_normdef forward(self, x):if self.training:x = self.cross_norm(x)# 假设cross_norm和self_norm都可以处理整个张量?x_normalized = self.self_norm(x)return x_normalized# 示例用法:
# 初始化并训练模型,需在适当时候设置cross_norm.active = True

7. 模块参数与激活控制

  • CrossNorm的active属性:决定是否执行跨实例变换,在训练时通常设为True。
  • SelfNorm的通道数匹配:需确保输入张量的通道数与卷积层一致,否则会导致维度不匹配。

8. 性能考量

  • CrossNorm由于涉及特征图的操作,可能会增加计算开销。建议在性能允许的情况下使用。
  • SelfNorm中的1维卷积相对高效,主要消耗为矩阵乘法和归一化操作。

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

相关文章:

  • 免费下载代码的网站事件营销
  • 做网站需要哪些费用seo求职
  • 怎么能加强门户网站建设网络平台建站
  • 婚恋交友网站开发方案免费网站模板网
  • wordpress文章同步微信石家庄seo扣费
  • 网站建设渠道员长沙网络推广
  • 网页设计怎么建站点百度指数明星人气榜
  • 遂溪网站建设公司电脑零基础培训学校
  • 龙岗 网站建设哪近期重大新闻事件
  • 西安响应式网站建设市场营销策划案例经典大全
  • 网站建设网站制作网站设计seo优化排名推广
  • 常州知名网站公司seo技术公司
  • 中国搜索网站提交入口seo是做什么工作的
  • 大学生网站开发无锡哪里有做网站的
  • 美橙网站建设南的seo网站设计工具
  • 做的网站如何投入搜索引擎软文范例200字
  • 网站建设常用英语徐州自动seo
  • 枣庄三合一网站开发公司招商外包
  • 服饰网站新闻建设免费发广告的网站大全
  • 品牌网站有哪些内容津seo快速排名
  • 网站开发完整项目平台网站开发免费的网页网站
  • 免费国外b2b网站大全seo自学网免费
  • 网络推广外包想手机蛙软件上海关键词排名优化公司
  • 如何优化基础建站猪八戒网接单平台
  • 网站内容规划怎么写优秀的软文
  • 如何做网站demoseo网站运营
  • 微信公众平台2次开发深圳宝安seo外包
  • 能通过淘宝网站做淘宝客吗亿速云
  • 淘客网站如何做能加快收录福州百度代理
  • 可以做问卷调查的网站外贸推广平台