感谢伯禹学习平台,本次学习将记录记录如何使用Pytorch高效实现网络,熟练掌握Pytorch的基础知识,记录不包含理论知识的细节展开
一:GRU和LSTM-Pytorch实现
GRU结构,来自教学平台的图片
GRU结构示意图
LSTM结构,来自教学平台的图片
LSTM结构示意图
二者的具体实现如下
# 导入Pytorch
import torch
import torch.nn as nn
# 定义GRU层,vocab_size表示你词向量的维度,简而言之是有多少不同的单词,hidden_size表示隐藏层大小
gru_layer = nn.GRU(input_size=vocab_size, hidden_size=num_hiddens)
# 定义LSTM层
lstm_layer = nn.LSTM(input_size=vocab_size, hidden_size=num_hiddens)
# 多层的RNN可以通过num_layers指定层数
gru_layer = nn.LSTM(input_size=vocab_size, hidden_size=num_hiddens,num_layers=6)
# 双向则可以通过bidirectional这个参数指定
gru_layer = nn.GRU(input_size=vocab_size, hidden_size=num_hiddens,bid