У меня есть карта функций активации
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.Я проверяю и получаю активацию через карту против явной ссылки на результаты активации в том же объекте, не говоря уже о том, что добавление активации через карту работает нормально для первого слоя, но не для второго?