You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置torchsummary.summary的input_size参数?CNN网络维度不匹配报错求助

解决torchsummary输入尺寸不匹配的问题

错误原因分析

报错RuntimeError: mat1 and mat2 shapes cannot be multiplied (2x50176 and 6x128)的核心是CNN输出特征维度与后续Linear层输入维度不匹配:

  • 当你传入input_size=(1, 32, 32)时,经过两次Conv2d(无padding)和Flatten后,得到的特征维度是64*(32-4)*(32-4)=50176
  • 但你的CustomCNN.linear层第一个Linear的in_features=6,两者维度无法进行矩阵乘法,因此报错。

正确设置input_size的方法

根据你的网络结构,CustomCNN的linear层输入维度为6,说明该模型并非仅接收图像输入,而是图像特征+6维向量特征的组合输入,需按以下方式传入input_size:

import torchsummary
torchsummary.summary(model=model.policy, input_size=[(1, 32, 32), (6,)])

其中:

  • (1, 32, 32)是图像输入的尺寸(通道数、高度、宽度)
  • (6,)是额外的6维向量输入的尺寸

额外说明

如果你的模型确实只需要处理单图像输入,那说明CustomCNN.linear层的参数设置有误:

  • 需根据输入图像尺寸,计算正确的in_features值:公式为输出通道数*(输入高度-4)*(输入宽度-4)(两次3x3卷积无padding的情况下)
  • 比如输入(1,32,32)时,in_features应设为64*28*28=50176,而非6

内容的提问来源于stack exchange,提问作者cwqaq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:12:51