Я реализовал модель с несколькими последовательными слоями TimeDistributed. Мой последний слой определяется следующим образом:
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)?
Привет