此代码将解决您的问题(假设您想在最后将所有输入添加到输出中)顺便说一句,如果您没有任何激活,您描述的操作是线性的并且可以很容易地简化。
import tensorflow.keras as keras
import tensorflow.keras.layers as layers
input_shape = [1]
num_inputs = 4
inputs = [layers.Input(shape=input_shape, name=f"input_{i}") for i in range(num_inputs)]
x = [i for i in inputs]
dense_1 = layers.Dense(units=1, use_bias=False, name="1")
dense_21 = layers.Dense(units=1, use_bias=True, name="21")
dense_22 = layers.Dense(units=1, use_bias=False, name="22")
dense_3 = layers.Dense(units=1, use_bias=True, name="3")
for i in range(num_inputs//2):
# First hidden layer
x[i] = dense_1(x[i])
# Second hidden layer
x[i] = dense_21(x[i])
# Connect with the other inputs
x[i + num_inputs // 2] = dense_22(x[i + num_inputs // 2])
x[i] = layers.Add()([x[i], x[i + num_inputs // 2]])
# Last one
x[i] = dense_3(x[i])
# Add all
x = layers.Add()(x[:num_inputs//2])
model = keras.Model(inputs=inputs,
outputs=x)
keras.utils.plot_model(model=model,
to_file="model.png",
show_shapes=True)
上述代码的情节是: