本文旨在代码实现,具体内容讲解请参考刘老师的视频:(https://www.bilibili.com/video/BV1Y7411d7Ys?p=12)
构建RNNCell模型以及直接调用RNN的代码如下:
import torch
input_size=4
hidden_size=4
batch_size=1
num_layers=1
idx2char=['e','h','l','o']
x_input=[1,0,2,2,3]
y_output=[3,1,2,3,2]
one_hot_lookup=[[0,1,0,0],
[1,0,0,0],
[0,0,1,0],
[0,0,0,1]]
x_ont_hot=[one_hot_lookup[x] for x in x_input]
inputs=torch.Tensor(x_ont_hot).view(-1,batch_size,input_size)
labers=torch.LongTensor(y_output).view(-1,