Я хочу создать 2 копии декодера, содержащих одинаковые слои FC с разным распределением, но я хочу, чтобы они разделяли веса.Как это может быть сделано? - PullRequest
0 голосов
/ 14 июня 2019

Я хочу построить 2 копии декодера модели с разными выпадающими, но эти слои должны иметь общий вес, как этого достичь с помощью керас?

Я знаю, как поделиться слоем с Keras API (https://keras.io/getting-started/functional-api-guide/#shared-layers), но я хочу 2 набора слоев, так как я хочу сохранить разные выпадения, но они должны иметь общий вес.

Я хочу достичь этой архитектуры.

       Conv
       Pool
droupout1 droupout2
  FC1       FC2
softmax1  softmax2
        out

1 Ответ

1 голос
/ 14 июня 2019

Это легко с функциональным API Keras, я предполагаю, что вы хотите разделить веса между FC1 и FC2:

pool_out = SomePoolingLayer()(input_tensor)
shared_fc = Dense(neurons, activation='softmax')
drop1 = Dropout(0.5)(pool_out)
drop2 = Droput(0.5)(pool_out)

fc1 = shared_fc(drop1)
fc2 = shared_fc(drop2)

out = somehow_merge()([fc1, fc2])

somehow_merge может быть любой функциональной функцией слияния, такой как сцепление или усреднение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...