Keras 从时间分布层分离激活

Keras 从时间分布层分离激活,keras,keras-layer,Keras,Keras Layer,我实现了一个具有几个连续时间分布层的模型。我的最后一层定义如下: y_pred = TimeDistributed(Dense(output_dim, name="y_pred", kernel_initializer=init, bias_initializer=init, activation="softmax"), name="out")(x) 我想删除后者的激活“softmax”以访问其登录,即: logit = TimeDistributed(Dense(output_dim, na

我实现了一个具有几个连续时间分布层的模型。我的最后一层定义如下:

y_pred = TimeDistributed(Dense(output_dim, name="y_pred", kernel_initializer=init, bias_initializer=init, activation="softmax"), name="out")(x)
我想删除后者的激活“softmax”以访问其登录,即:

logit = TimeDistributed(Dense(output_dim, name="fc6", kernel_initializer=init, bias_initializer=init), name="logit")(x)
如果我想找回最初的y_pred,我写道:

(1) y_pred = TimeDistributed(Activation('softmax'), name="pred")(logit)
我很困惑,因为下面这句话似乎也适用:

(2) y_pred = Activation('softmax', name="pred")(logit)
哪一个是正确的?(1) 或(2)?
关于

它实际上遵循与默认情况下激活('softmax')相同的语义将激活应用于最后一个
轴=-1
。这是最重要的。因此,即使使用
TimeDistributed
,也会将其应用于最后一个维度,但不使用分布的后者会更快,因为它涉及的操作更少