tf.keras.layers.Bidirectional
| Просмотреть исходный код на GitHub |
Обертка двунаправленного RNN.
Наследуется от: Wrapper
tf.keras.layers.Bidirectional(
layer, merge_mode='concat', weights=None, backward_layer=None, **kwargs
)
| Аргументы | |
|---|---|
layer | Экземпляр keras.layers.RNN, такой как keras.layers.LSTM или keras.layers.GRU. Он также может быть экземпляром keras.layers.Layer, который удовлетворяет следующим критериям:
|
merge_mode | Режим, по которому объединяются выходные данные прямого и обратного RNN. Один из {'sum', 'mul', 'concat', 'ave', None}. Если None, выходные данные не будут объединены, а будут возвращены в виде списка. Значение по умолчанию — 'concat'. |
backward_layer | Необязательный экземпляр keras.layers.RNN или keras.layers.Layer, используемый для обработки обратного входного сигнала. Если backward_layer не предоставлен, экземпляр слоя, переданный в качестве аргумента layer, будет использоваться для автоматической генерации обратного слоя. Обратите внимание, что предоставленный слой backward_layer должен иметь свойства, соответствующие свойствам аргумента layer, в частности, он должен иметь те же значения для stateful, return_states, return_sequence, и т.д. Кроме того, backward_layer и layer должны иметь разные значения аргумента go_backwards. Будет выброшено исключение ValueError, если эти требования не выполнены. |
Аргументы вызова:
Аргументы вызова для этого слоя совпадают с аргументами вызова обернутого слоя RNN. Обратите внимание, что при передаче аргумента initial_state при вызове этого слоя первая половина элементов в списке initial_state будет передана в прямой вызов RNN, а последняя половина элементов в списке будет передана в обратный вызов RNN.
| Возбуждения | |
|---|---|
ValueError |
|
Примеры:
model = Sequential()
model.add(Bidirectional(LSTM(10, return_sequences=True), input_shape=(5, 10)))
model.add(Bidirectional(LSTM(10)))
model.add(Dense(5))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
# With custom backward layer
model = Sequential()
forward_layer = LSTM(10, return_sequences=True)
backward_layer = LSTM(10, activation='relu', return_sequences=True,
go_backwards=True)
model.add(Bidirectional(forward_layer, backward_layer=backward_layer,
input_shape=(5, 10)))
model.add(Dense(5))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
| Атрибуты | |
|---|---|
constraints | |
Методы
reset_states
reset_states()
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/layers/Bidirectional