【发布时间】:2020-04-16 18:41:18
【问题描述】:
我有一个 327 帧的序列,尺寸为 480 行和 640 列,灰度。
打印(X_train.shape) 给出:(327, 480, 640, 1)
我有以下型号:
N = 2 #number of frames to distribute
model = Sequential()
model.add(TimeDistributed(Convolution2D(32, activation='relu'), input_shape = (N, 480,640,1)))
...
打印 (model.output_shape) 给出:(无, 2, 480, 640, 32)
我需要多一维才能将此输入传递给卷积。 事实上我有以下错误: ValueError:检查输入时出错:预期 time_distributed_1_input 有 5 个维度,但得到的数组形状为 (327, 480, 640, 1)
如何解决?
谢谢!
编辑:从根本上说,我需要将输入 (327, 480, 640, 1) 转换为 (x, 2, 480, 640, 1) (x=327/2 ?)
【问题讨论】:
-
您的问题不清楚。你说你有一个 327 帧的序列。但是您的模型时间步长是 2。
-
是的,我想以 2 帧 2 帧的形式拍摄。1-2、2-3、3-4 ... 也许有些地方不正确?
-
我仍然不清楚您要做什么。可能会重写您的问题,包括示例场景或其他内容。
-
我添加了一个编辑。我只是有一些难以重新安排我的数据工作。
-
如果要进行reshape,总元素需要匹配。 327/2 不会产生整数,因此您不可能以具有 2 个时间步长的方式重塑此张量。您可以做的是获取第一个 326 并将其重塑为 [163, 2, 480, 640, 1]。
标签: tensorflow keras conv-neural-network