如何指定keras中神经元与下一层的连接



我正在尝试用预先指定的连接在Keras中构建一个神经网络。例如:

部分连接层

例如,如果我的输入X具有特征"a",我只想在下一层中训练神经元"b"。

我不知道如何在keras中指定层之间的连接。

谢谢!

在您的情况下,可以使用Lambda层和merge层的组合
因此可以通过以下方式完成:

input = Input((6,))
# Split input to 3 streams
a = Lambda(lambda x: x[:, [0,4]], output_shape=(2,))(input)
b = Lambda(lambda x: x[:, 0:5], output_shape=(5,))(input)
c = Lambda(lambda x: x[:, 5], output_shape=(1,))(input)
# Build the hidden layer
hidden = merge([a, c, b], mode='concat')
# Split the hidden output to 2 streams
aa = Lambda(lambda x: x[:, 0:1], output_shape=(2,))(hidden)
d = Lambda(lambda x: x[:, 2], output_shape=(1,))(hidden)
# Build the output layer
output = merge([aa, d], mode='concat')
model = Model(input, output)

最新更新