有时默认的标准激活(如ReLU,tanh,softmax等)和高级激活(如LeakyReLU)还不够。而且它也可能不在keras- contrib中。
您如何创建自己的激活功能?
归功于Ritchie Ng对这个Github问题的评论。
# Creating a model from keras.models import Sequential from keras.layers import Dense # Custom activation function from keras.layers import Activation from keras import backend as K from keras.utils.generic_utils import get_custom_objects def custom_activation(x): return (K.sigmoid(x) * 5) - 1 get_custom_objects().update({'custom_activation': Activation(custom_activation)}) # Usage model = Sequential() model.add(Dense(32, input_dim=784)) model.add(Activation(custom_activation, name='SpecialActivation')) print(model.summary())
请记住,保存和还原模型时必须导入此功能。请参阅keras- contrib的注释。