PyTorch PyTorch高階教程三

2021-08-14 14:06:45 字數 961 閱讀 7794

前面介紹了使用pytorch構造cnn網路,這一節介紹點高階的東西lstm。

以及我之前的一篇中文翻譯部落格:

class

torch.nn.lstm

(*args, **kwargs)

class

rnn(nn.module):

def__init__

(self, input_size, hidden_size, num_layers, num_classes):

super(rnn, self).__init__()

self.hidden_size = hidden_size

self.num_layers = num_layers

self.lstm = nn.lstm(input_size, hidden_size, num_layers,

batch_first=true)

self.fc = nn.linear(hidden_size, num_classes) # 2 for bidirection

defforward

(self, x):

# forward propagate rnn

out, _ = self.lstm(x)

# decode hidden state of last time step

out = self.fc(out[:, -1, :])

return out

rnn = rnn(input_size, hidden_size, num_layers, num_classes)

rnn.cuda()

pytorch中實現lstm是十分方便的,只需要定義輸入維度,隱層維度,rnn個數,以及分類個數就可以了。lstm的輸入狀態如果為空的話,表示預設初始化為0。在mnist上,只需要2個epoch就可以達到97%的正確率。

PyTorch PyTorch高階教程一

前面介紹了pytorch的一些基本用法,從這一節開始介紹pytorch在深度學習中的應用。在開始介紹之前,首先熟悉一下常用的概念和層。class torch.nn.module 舉例 import torch.nn as nn import torch.nn.functional as f clas...

Pytorch pytorch中的LSTM模型

pytorch中lstm的公式表示為 pytorch中lstm的定義如下 輸入資料格式 input seq len,batch,input size h0 num layers num directions,batch,hidden size c0 num layers num directions...

PyTorch PyTorch入門教程五

還是直接看 是如何寫的。從numpy中建立輸入與輸出。import torch import torch.nn as nn import numpy as np import matplotlib.pyplot as plt from torch.autograd import variable h...