目录
1.双向循环神经网络的原理
2.双向循环神经网络的实现代码
#导包
import torch
from torch import nn
import dltools
#加载数据
batch_size, num_steps = 32, 35
train_iter, vocab = dltools.load_data_time_machine(batch_size, num_steps)
#声明变量
vocab_size, num_hiddens, num_layers = len(vocab), 256, 2
num_inputs = vocab_size
device = dltools.try_gpu()
#创建网络层
rnn_layer = nn.RNN(input_size=vocab_size, hidden_size=num_hiddens, num_layers=num_layers, bidirectional=True)
#创建模型
model = dltools.RNNModel(rnn_layer, vocab_size)
#将模型转到device上
model= model.to(device)
#模型训练
num_epochs, lr = 300, 1
dltools.train_ch8(model, train_iter, vocab, lr, num_epochs, device)