为了账号安全,请及时绑定邮箱和手机立即绑定

TensorFlow 1D 模型,MaxPooling 的错误输入形状

TensorFlow 1D 模型,MaxPooling 的错误输入形状

POPMUISE 2021-08-17 16:52:46
我正在使用 TensorFlow 构建一个用于音频的 1D 模型,但是在模型中的第二个 MaxPool1D 期间我遇到了输入形状的问题。问题就在这里,在这个池化之后:x = Convolution1D(32, 3, activation=relu, padding='valid')(x) x = MaxPool1D(4)(x)我收到此错误:ValueError:输入形状为 [?,1,1,32] 的“max_pooling1d_5/MaxPool”(操作:“MaxPool”)从 1 中减去 4 导致的负尺寸大小。我试图重塑x(这是一个张量),但我认为我的方式不对。在同一个模型中,在此之前,我有几个卷积层和一个工作正常的 maxpooling。有人有建议吗?谢谢
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

MaxPool1D层输入中的步数小于池大小。

在错误中,它说...input shapes: [?,1,1,32],这意味着来自Convolution1D图层的输出具有 shape [1,32]。它需要至少 4 个步骤才能用作MaxPool1D(4)层的输入,因此最小大小为[4,32].

你可以继续往回走。例如,该Convolution1D层将通过 kernel_size-1=2 减小步长。这意味着Convolution1D层的输入至少需要 4+2=6 步,这意味着形状至少为[6,?]。继续到输入层,您会发现输入大小太小。

您需要更改架构以允许输入大小,或者,如果适用,更改输入大小。


查看完整回答
反对 回复 2021-08-17
  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信