无法为在喀拉拉邦开发的CNN提供输入

时间:2019-03-30 11:33:52

标签: keras-rl

我正在尝试构建一个网络,该网络的输入数组大小为5x1。 但是,从中获取数据的模拟器的大小为1x5。

(此输入应分为两部分:1x1和4x1。 然后4x1输入应该进入2个卷积层,并最终与1x1输入结合以形成平坦层。)

我尝试使用numpy将数据重新共享到5x1(在模拟器端),但随后在网络端出现错误,提示:

“ ValueError:检查输入时出错:预期input_1具有3个维,但数组的形状为(1、1、5、1)”。

我尝试了很多可能性,但似乎没有效果。

def slice1(x):
    return x[:, 0:1]

def slice2(x):
    return x[:, 0:4]

a = Input(batch_shape=(None, 5, 1))

x1 = Lambda(slice1)(a)
x2 = Lambda(slice2)(a)

x = Conv1D(32, 4, strides=4, activation = 'relu')(x2)
x = Conv1D(32, 1, strides=1, activation = 'relu')(x)
x = MaxPooling1D(pool_length=1)(x)

x = Flatten()(Concatenate(axis=-1)([x1, x]))
x = Dense(64, activation='relu')(x)
x = Dense(5, activation='relu')(x)

model = Model(a, x)
model.summary()

0 个答案:

没有答案