繁体   English   中英

为什么在 tensorflow 中,Conv2D 的输入通道限制为 1,3,4,张量维度限制为 4-D?

[英]Why are input channels for Conv2D limited to 1,3,4 with the tensor dimension limited to 4-D in tensorflow?

我正在尝试将形状(n_samples,n_channels,height,width)的数据传递给我的 model,其中将 Conv2D 作为其第一层。 这里n_channels的长度为 128(基本上,我试图将不同的时间样本传递到不同的通道),所以长度也可以 go 向上或向下。 当我尝试将张量简单地作为输入传递时,它抱怨说:

InvalidArgumentError: Tensor must be 4-D with last dim 1, 3, or 4, not [60,128,9,9,1]

我试图将形状更改为[60,9,9,128]之类的东西,但它给出了同样的错误

我试图通过网络一次传递一堆图像。 我认为将它们集中在通道上会很聪明(因为隐藏的卷积层可以接受多通道输入)。 但是,不知何故,第一个 conv 层似乎无法接受这种张量形状。

我不明白,为什么在 tensorflow 中做出这样的安排,只能通过 1,3 或 4 个通道,以及如何解决它。

PS:自从 tensorflow 2.2 发布以来,我使用 tensorflow.compat.v1 来完成我的任务。

我不确定tensorflow,但是在Pytorch中,可以使用.squeeze()之类的东西来消除最后一个维度,大小会变成[60,128,9,9],那么应该不错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM