pytorch 实现gru_Pytorch 从零开始实现 GRU

import numpy as np

import torch

from torch import nn, optim

import torch.nn.functional as F

载入数据

import sys

sys.path.append("../input/")

import d2l_jay9460 as d2l

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

(corpus_indices, char_to_idx, idx_to_char, vocab_size) = d2l.load_data_jay_lyrics()

初始化参数

num_inputs, num_hiddens, num_outputs = vocab_size, 256, vocab_size

print('will use', device)

def get_params():

def _one(shape):

ts = torch.tensor(np.random.normal(0, 0.01, size=shape), device=device, dtype=torch.float32) #正态分布

return torch.nn.Parameter(ts, requires_grad=True)

def _three():

return (_one((num_inputs, num_hiddens)),

_one((num_hiddens, num_hiddens)),

torch.nn.Parameter(torch.zeros(n

你可能感兴趣的:(pytorch,实现gru)