使用 keras 功能 api 可以编写如下内容:
x = Activation('relu')(x)
x = Dense(8, activation='softmax')(x)
我的问题是 Activation() 函数是否是一个单独的层(相当于 Dense(128, activation='relu') 或者如果不是......为什么以及何时使用这个符号?
使用 keras 功能 api 可以编写如下内容:
x = Activation('relu')(x)
x = Dense(8, activation='softmax')(x)
我的问题是 Activation() 函数是否是一个单独的层(相当于 Dense(128, activation='relu') 或者如果不是......为什么以及何时使用这个符号?
如文档中所述,keras 中的激活层等效于具有相同激活作为参数传递的密集层。
这将是等效的
x = Dense(64)(x)
x = Activation('relu')(x)
相当于
x = Dense(8, activation='relu')(x)
根据您的示例,如果将激活层用作层,这将充当前一层输出的转换。
正如您在模型中看到的
inputs = Input(shape=(784,))
x = Dense(32, activation='tanh')(inputs)
x = Activation('relu')(x)
predictions = Dense(8, activation='softmax')(x)
第一层的输出是具有 tanh 函数的密集连接层的结果。然后这些输出将分别由一个 relu 函数转换。您可以看到这只是一种转换,并且没有引入任何新的模型参数
model.summary()