Я пытаюсь создать следующую модель, где все слои являются общими.
Как я могу сделать это с помощью функционального API?
Должен сказать, что я немного озадачен тем, как все это работает.
![enter image description here](https://i.stack.imgur.com/oDSf9.png)
Вот что я написал до сих пор
s_im = keras.layers.Input(shape=s_im_dim, name='s_im')
s_aux = keras.layers.Input(shape=(s_aux_dim,), name='s_aux')
s_im0 = keras.layers.Input(shape=s_im_dim, name='s_im0')
s_aux0 = keras.layers.Input(shape=(s_aux_dim,), name='s_aux0')
s_im1 = keras.layers.Input(shape=s_im_dim, name='s_im1')
s_aux1 = keras.layers.Input(shape=(s_aux_dim,), name='s_aux1')
shared_layer = keras.layers.Conv2D(32, kernel_size=(8, 8), strides=(4, 4))(s_im)
shared_layer = keras.layers.Conv2D(64, kernel_size=(4, 4), strides=(2, 2))(shared_layer)
shared_layer = keras.layers.Flatten()(shared_layer)
s_out = keras.layers.Dense(128)(shared_layer)
concat = keras.layers.concatenate([s_out, s_aux])
f = keras.layers.Dense(256, name='features')(concat)
И это так далеко, как я получил.
Что мне нужно сделать сейчас, чтобы получить доступ к выходам (f (s0) и f (s1)) и обучить сеть, используя эти два значения?
Я попробовал следующее, но я получил сообщение о том, что график отключен
model_s0 = keras.Model(inputs=[s_im0, s_aux0], outputs=[f])
Но мне даже нужно сделать несколько моделей? Разве я не могу сделать только один и получить доступ ко всем выходам одновременно?