# num_steps 表示最大的序列长度 for i in range(num_steps): # 在第一个时刻声明 LSTM 结构中使用的变量,在之后的时刻都需要服用之前定义好的变量 if i>0: tf.get_variable_scope().reuse_variables() # 每一步处理时间序列中的一个时刻。将当前输入(current_input)和前一时刻状态(state)传入定义的 LSTM 结构就可以得到当前 LSTM 结构的输出 lstm_output 和更新后的状态 state lstm_output, state = lstm(current_input, state)
state = stacked_lstm.zero_state(batch_size, tf.float32)
for i in range(len(num_steps)): if i>0: tf.get_variable_scope().reuse_variables() stacked_lstm_output, state = stacked_lstm(current_input, state) final_output = fully_connected(stacked_lstm_output) loss += calc_loss(final_output, expected_output)