创建一些 Layer 实例将激活作为参数传递,即 activation='relu' 与创建一些 Layer 实例然后创建激活相同,例如Relu 实例。 Relu() 是在inputs 之上返回K.relu() 函数的层:
class ReLU(Layer):
.
.
.
def call(self, inputs):
return K.relu(inputs,
alpha=self.negative_slope,
max_value=self.max_value,
threshold=self.threshold)
来自 Keras 文档:
激活的使用
激活可以通过激活层使用,也可以通过
所有人都支持的激活参数
前向层:
from keras.layers import Activation, Dense
model.add(Dense(64))
model.add(Activation('tanh'))
这相当于:
model.add(Dense(64, activation='tanh'))
您还可以将逐元素的 TensorFlow/Theano/CNTK 函数传递为
激活:
from keras import backend as K
model.add(Dense(64, activation=K.tanh))
更新:
回答 OP 的附加问题:如何以及在哪里可以使用后一个?:
您可以在使用某些层时使用它,该层不接受 activation 参数,例如tf.keras.layers.Add、tf.keras.layers.Subtract 等,但您希望得到这些层的校正输出:
added = tf.keras.layers.Add()([x1, x2])
relu = tf.keras.layers.ReLU(added)