用 pytorch 实现 一个rnn
生活随笔
收集整理的這篇文章主要介紹了
用 pytorch 实现 一个rnn
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文鏈接
import torch torch.__version__class RNN(object):def __init__(self,input_size,hidden_size):super().__init__()self.W_xh=torch.nn.Linear(input_size,hidden_size) #因為最后的操作是相加 所以hidden要和output 的shape一致self.W_hh=torch.nn.Linear(hidden_size,hidden_size)def __call__(self,x,hidden):return self.step(x,hidden)def step(self, x, hidden):#前向傳播的一步h1=self.W_hh(hidden)w1=self.W_xh(x)out = torch.tanh( h1+w1)hidden=self.W_hh.weightreturn out,hidden rnn = RNN(20,50) input = torch.randn( 32 , 20) h_0 =torch.randn(32 , 50) :for i in range(seq_len):output,hn= rnn(input[i, :], h_0) print(output.size(),h_0.size()) seq_len = input.shape[0] 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的用 pytorch 实现 一个rnn的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 纯手撸一个rnn
- 下一篇: 使用pytorch动手实现LSTM模块