В Listing 6.21 Numpy implementation of a simple RNN
(глава 6) книги "Глубокое обучение с Python", написанной Франсуа Шоле, упоминалось, что переменная
" , final_output_sequence
- это the final output is a 2D tensor of shape (timesteps, output_features).
"
Но я повторил код и заметил, что это тензор 1D
формы (timesteps*output_features,)
.
Код для воспроизведения проблемы показан ниже:
import numpy as np
timesteps = 100
input_features = 32
output_features = 64
inputs = np.random.random((timesteps, input_features))
state_t = np.zeros((output_features,))
W = np.random.random((output_features, input_features))
U = np.random.random((output_features, output_features))
b = np.random.random((output_features,))
successive_outputs = []
for input_t in inputs:
output_t = np.tanh(np.dot(W, input_t) + np.dot(U, state_t) + b)
successive_outputs.append(output_t)
state_t = output_t
final_output_sequence = np.concatenate(successive_outputs, axis=0)
Может кто-нибудь помочь мне получить 2D-тензор с формой (timesteps, output_features) ) из приведенного выше кода. Было бы замечательно, если бы кто-то мог объяснить, в чем причина такого расхождения.
Заранее спасибо.