import torch
from torch import nn
from torch.autograd import Variable
# simpleRNN cell
seq, batch_size = 4, 1
input_size, hidden_size = 2,1
rnn_cell = nn.RNNCell(input_size=input_size, hidden_size=hidden_size,
bias=False,nonlinearity='relu').cuda()
rnn_cell.weight_ih.data = torch.Tensor([[-1,3]]).cuda()
rnn_cell.weight_hh.data = torch.Tensor([[2]]).cuda()
x = Variable(torch.Tensor([[[1,2]],[[2,0]],[[3,1]],[[-1,-5]]])).cuda()
hx = Variable(torch.Tensor([[0]])).cuda()
print('this is x:\n',x)
print('this is h0:\n',hx)
output = []
for step in range(seq):
hx = rnn_cell(x[step],hx) # 当前得到的hx作为下个时间步的输入
output.append(hx)
print('these are hx')
for i in range(seq):
print(output[i])
PyTorch

数据库
数据库
¥19.90