Как я могу получить активации LSTM в тензорном потокеPython

Программы на Python
Ответить
Anonymous
 Как я могу получить активации LSTM в тензорном потоке

Сообщение Anonymous »


Я хотел бы получить активации трех вентилей обученной ячейки LSTM в TensorFlow для определенного входа и состояния. В TensorFlow отсутствует функциональность, эквивалентная «крючку» PyTorch. Я обучил сеть играть в аркадные игры. Вся сеть работает, поэтому с исходным кодом проблем нет.

Код:
[...] ядро = tf.keras.layers.LSTMCell(512) [...] выход, состояние = ядро ​​(вход, состояние) Я пытался: shape_input_input = tf.shape(вход) shape_input_state = tf.shape(current_state) lstm_layer = ядро lstm_layer_input = tf.keras.Input(shape=shape_input_input) lstm_layer_state = tf.keras.Input(shape=shape_input_state) output_sequences, Final_memory_state, Final_carry_state = lstm_layer(inputs = lstm_layer_input,states = lstm_layer_state) (это не работает) tf.keras.Модель(??)
Есть ли у кого-нибудь идеи о том, как получить активации (а не веса) для данного ввода и состояния? Спасибо!

Я пробовал:

output_sequences, Final_memory_state, Final_carry_state = lstm_layer(input_LSTM_input, input_LSTM_state) input_gate_output = lstm_layer.cell.input_gate ignore_gate_output = lstm_layer.cell.forget_gate output_gate_output = lstm_layer.cell.output_gate active_model = tf.keras.Model(inputs=lstm_layer.input, outputs=[output_sequences, Final_memory_state, Final_carry_state, input_gate_output, ignore_gate_output, cell_gate_output, output_gate_output]) Я обнаружил аналогичный подход для получения активаций в CNN и надеялся, что он будет работать и для ячеек LSTM, но, к сожалению, это не так.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»