(十六)pytorch学习笔记---内容为学习资源摘录整合の循环神经网络模块

PyTorch 中的循环神经网络模块

一般的 RNN

对于最简单的 RNN,我们可以使用下面两种方式去调用,分别是 torch.nn.RNNCell() 和 torch.nn.RNN(),这两种方式的区别在于 RNNCell() 只能接受序列中单步的输入,且必须传入隐藏状态,而 RNN() 可以接受一个序列的输入,默认会传入全 0 的隐藏状态,也可以自己申明隐藏状态传入。

 

RNN() 里面的参数有

input_size 表示输入 xtxt 的特征维度

hidden_size 表示输出的特征维度

num_layers 表示网络的层数

nonlinearity 表示选用的非线性激活函数,默认是 'tanh'

bias 表示是否使用偏置,默认使用

batch_first 表示输入数据的形式,默认是 False,就是这样形式,(seq, batch, feature),也就是将序列长度放在第一位,batch 放在第二位

dropout 表示是否在输出层应用 dropout

bidirectional 表示是否使用双向的 rnn,默认是 False

对于 RNNCell(),里面的参数就少很多,只有 input_size,hidden_size,bias 以及 nonlinearity

import torch
from torch.autograd import Variable
from torch import nn

# 定义一个单步的 rnn
rnn_single = nn.RNNCell(input_size=100, hidden_size=200)

# 访问其中的参数
rnn_single.weight_hh

Parameter containing:
1.00000e-02 *
 6.2260 -5.3805  3.5870  ...  -2.2162  6.2760  1.6760
-5.1878 -4.6751 -5.5926  ...  -1.8942  0.1589  1.0725
 3.3236 -3.2726  5.5399  ...   3.3193  0.2117  1.1730
          ...             ⋱             ...          
 2.4032 -3.4415  5.1036  ...  -2.2035 -0.1900 -6.4016
 5.2031 -1.5793 -0.0623  ...   0.3424  6.9412  6.3707
-5.4495  4.5280  2.1774  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值