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

费用网站建设seo怎么优化

费用网站建设,seo怎么优化,wordpress用户中心,怎样做网站静态🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 📌你需要解决的疑问:这个代码是否有错?对错与否都请给出你的思考 📌打卡要求:请查找相关资料、逐步…
  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊

📌你需要解决的疑问:这个代码是否有错?对错与否都请给出你的思考
📌打卡要求:请查找相关资料、逐步推理模型、详细写下你的思考过程

代码如下

# 定义残差单元  
def block(x, filters, strides=1, groups=32, conv_shortcut=True):  if conv_shortcut:  shortcut = Conv2D(filters * 2, kernel_size=(1, 1), strides=strides, padding='same', use_bias=False)(x)  # epsilon为BN公式中防止分母为零的值  shortcut = BatchNormalization(epsilon=1.001e-5)(shortcut)  else:  # identity_shortcut  shortcut = x  # 三层卷积层  x = Conv2D(filters=filters, kernel_size=(1, 1), strides=1, padding='same', use_bias=False)(x)  x = BatchNormalization(epsilon=1.001e-5)(x)  x = ReLU()(x)  # 计算每组的通道数  g_channels = int(filters / groups)  # 进行分组卷积  x = grouped_convolution_block(x, strides, groups, g_channels)  x = Conv2D(filters=filters * 2, kernel_size=(1, 1), strides=1, padding='same', use_bias=False)(x)  x = BatchNormalization(epsilon=1.001e-5)(x)  x = Add()([x, shortcut])  x = ReLU()(x)  return x

如果conv_shortcut=False,那么执行“x=Add()…”语句时,通道数不一致的,为什么不会报错呢?

思考

关键点分析:

  1. conv_shortcut=False 时的 shortcut

    • conv_shortcut=False 时,shortcut 直接等于 x,没有经过卷积层处理。也就是说,在 x = Add()([x, shortcut]) 这一行之前,shortcutx 是相同的张量。因此,它们的通道数和空间尺寸应该是相同的,直接相加是没有问题的。
    • 因此,执行 Add() 时,xshortcut 的维度是匹配的。
  2. conv_shortcut=True 时的 shortcut

    • conv_shortcut=True 时,shortcut 会通过一个 1x1 卷积进行通道数调整:
      shortcut = Conv2D(filters * 2, kernel_size=(1, 1), strides=strides, padding='same', use_bias=False)(x)
      
      • 这里 shortcut 的通道数被修改为 filters * 2,使其与主路径输出的通道数一致。
      • 如果步长 strides 是大于1的值(例如2),则 shortcut 的空间尺寸(高度和宽度)也会发生变化,因此需要保证它们的空间尺寸与主路径的输出相匹配。为此,使用 Conv2DBatchNormalization 来调整通道数,并保持 padding='same' 来避免空间尺寸的变化。
  3. Add() 层的作用

    • Add() 层要求输入张量的维度一致。如果 conv_shortcut=Falseshortcutx 在通道数和空间尺寸上已经是相同的,因此直接相加是不会出现维度不匹配的错误的。
    • 但是,如果通道数或空间尺寸不一致,Keras 会抛出错误,提示“维度不匹配”或类似错误。

为什么没有报错:

  • conv_shortcut=False 时,shortcutx 的维度是一样的,因为 shortcut = x,它们在通道数、空间尺寸等维度上都相同,因此 Add() 操作没有问题。
  • Add() 操作本身不会对维度进行任何变换,它只是简单地将两个张量逐元素相加。如果两个张量的维度不一致,Keras 会报错。

结论:

  • conv_shortcut=False 的情况下,shortcut 直接等于 x,因此它们的维度是相同的,Add() 操作能够成功执行。
  • 只有当 conv_shortcut=True 时,shortcut 会通过卷积进行维度调整,这样就确保了通道数和空间尺寸与主路径的输出一致,避免了维度不匹配的问题。

测试:

为了验证,可以在代码中添加调试语句,打印出 x.shapeshortcut.shape,看看它们在执行 Add() 之前是否匹配。例如:

print("x shape:", x.shape)
print("shortcut shape:", shortcut.shape)

这可以帮助进一步确认 xshortcut 在执行加法之前是否一致。

http://www.ds6.com.cn/news/75384.html

相关文章:

  • 个人网站开发与设计摘要seo关键词排名技术
  • 人力资源外包灵活用工如何做网站优化
  • 网站收录入口申请西安seo优化推广
  • 福州网站建设推广平台搜索引擎优化分析
  • wordpress文章美观google seo教程
  • 制作网站首页可以打广告的平台
  • 建设银行网站-公司机构客户长春网络科技公司排名
  • 做内贸的网站百度首页广告
  • 苏州网页制作设计搜索引擎优化的目标
  • 网站建设及推广方案ppt中国最新消息今天
  • 哪里有做响应式网站的seo系统优化
  • 如何做英文版网站想学管理方面的培训班
  • 专业网站建设公司兴田德润放心网站外链出售
  • 如何利用视频网站做推广河南品牌网站建设
  • 网站建设价格标准案例网络营销主要做什么
  • 网站开发留言板代码2021年10月新闻摘抄
  • 做网站常用代码向右浮动怎么写百度搜索推广的定义
  • 前端网站做完 后端用什么做外贸网站推广平台
  • 党风廉洁建设网站市场调研报告500字
  • 湖南省政务服务网 网站建设要求网络营销的八大能力
  • dreamweaver怎么创建网站网络销售怎么做才能做好
  • 做网站大概需要多少钱石家庄seo推广
  • 开个微网站需要什么seo教程优化
  • 台州企业建站系统百度公司名称
  • 优速网站建设市场调研报告800字
  • 昆明做网站建设的公司发外链比较好的平台
  • 登陆美国网站做报价单 网速慢比较好网站制作公司
  • 网站开发 都包含什么语言免费seo提交工具
  • 免费地方网站进入百度知道首页
  • 动易网站制作教程seo搜索排名优化方法