永不放弃848 2022-12-26 11:53 采纳率: 100%
浏览 93
已结题

深度学习卷积层维度错误

添加第一个卷积层,

model.add(Conv2D(32, (10, 10),
strides=(2, 2),
input_shape=(151, 151, Channel_Num),
padding='same',
activation='relu'))

添加第一个池化层,

报错内容为:
ValueError: Dimensions must be equal, but are 2 and 151 for '{{node mean_squared_error/SquaredDifference}} = SquaredDifference[T=DT_FLOAT](sequential/dense_2/BiasAdd, IteratorGetNext:1)'
with input shapes: [?,2], [?,151,151].

img

img

  • 写回答

6条回答 默认 最新

  • |__WhoAmI__| 2022-12-26 15:59
    关注

    这个错误的意思是:维度必须相等,但是在节点 mean_squared_error/SquaredDifference 处,维度是 2 和 151。输入的形状分别是 [?,2] 和 [?,151,151]。

    这个错误的原因可能是:

    1、在添加池化层之前,没有正确添加卷积层。卷积层和池化层是成对出现的,所以需要先添加卷积层,再添加池化层。
    2、在添加卷积层时,指定的 strides 参数不正确。strides 参数指定卷积核在输入数据的宽和高方向上的步长。如果指定的步长为 (2, 2),那么卷积核会跳过每隔两个像素就对一个像素进行卷积。这可能会导致输出数据的维度和输入数据的维度不匹配。
    3、在添加卷积层时,指定的 input_shape 参数不正确。input_shape 参数指定了输入数据的形状,包括图像的宽、高和通道数。在添加卷积层之前,需要确保指定的 input_shape 参数与实际输入的数据的形状相匹配。

    这些都可能是导致错误的原因。要解决这个问题,需要检查代码,确保在正确的顺序添加了卷积层和池化层,并且确保指定的参数的值是合理的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 赞助了问题酬金15元 12月26日
  • 修改了问题 12月26日
  • 展开全部

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题