import torch import torch.nn as nn # Example sequence: batch size 1, sequence length 5, input size 1 sequence = torch.tensor([[[1.0]], [[2.0]], [[3.0]], [[4.0]], [[5.0]]]) input_size = 1 # Input dimension at each step hidden_size = 2 # Hidden state size rnn = nn.RNN(input_size, hidden_size, batch_first=False) # Initialize hidden state: (num_layers, batch_size, hidden_size) h_t = torch.zeros(1, 1, hidden_size) print("Step | Input | Hidden State") print("-------------------------") for i, x_t in enumerate(sequence): out, h_t = rnn(x_t.unsqueeze(0), h_t) # Add batch/time axes print(f" {i+1} | {x_t.item()} | {h_t.squeeze(0).detach().numpy()}")