Почему добавление слоя активации через карту не удается для второго или более слоев, но работает нормально, когда я добавляю явно - PullRequest
0 голосов
/ 17 мая 2019

У меня есть карта функций активации

activations = {'lrelu': LeakyReLU(), 'trelu': ThresholdedReLU(), 'elu': Activation('elu'), 'relu': Activation('relu'), 'selu': Activation('selu'),
                    'softplus': Activation('softplus'), 'tanh': Activation('tanh'), 'exponential': Activation('exponential'), 'softsign': Activation('softsign')}


first_layer = self.layers[0]
model.add(Dense(first_layer.neurons, kernel_initializer=initializer))
#model adds activation via map fine here
model.add(activations[first_layer.activation])

for x in range(1, len(self.layers)):
    layer = self.layers[x]
    model.add(Dense(layer.neurons))

    #model does not add activation layer when i do this
    model.add(activations[layer.activation])

    #model does add activation layer when i do this
    model.add(Activation('relu'))

    model.add(Dense(1))

#compile model
#train model
print(model.summary())

В основном моя модель добавляет штраф активации для первого слоя.Но для следующего слоя он не добавляется через карту.Мне нужно явно добавить активацию.Для тестирования у меня есть 2 слоя, и оба слоя используют активацию Relu.Я проверяю и получаю активацию через карту против явной ссылки на результаты активации в том же объекте, не говоря уже о том, что добавление активации через карту работает нормально для первого слоя, но не для второго?

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