pytorch循环神经网络参数说明

pytorch之循环神经网络(RNN)

时常遇到循环神经网络,偶尔也会使用循环神经网络模型,但是很容易将RNN中一些参数含义忘记,既然不能像循环神经网络能记忆历史信息,那我只好将RNN参数内容整理成文档,方便日后查阅使用。以下是RNN中参数含义:

input_size:输入x的特征维度
hidden_size: 隐藏层特征数量
num_layers:网络层数,默认为1层。若2层,两个RNN单元进行堆叠,第2个RNN单元将第1个RNN单元的h作为输入
nonlinearity:表示非线性函数的选择,,默认的是tanh,也可以选择Relu
bias:偏置项的使用,False代表不使用,默认情况是True
batch_first:决定输入数据的维度顺序。默认输入是(seq,batch,feature),分别是RNN序列长度,批量数,特征维度。True表示(batch,seq,feature).
dropout:接收一个0~1的数值,会在网络除最后一层之外的其他输出层加上dropout层,默认为0
bidirectional:如果是True,表示双向的RNN。

下面使用pytorch实现一个简单的RNN

import torch as t
import torch.nn as nn

print(t.__version__)
rnn = nn.RNN(input_size=5, hidden_size=8, num_layers=2)
input = t.randn(3, 2, 5)
#初始化隐藏层
h_t = t.randn(2, 2, 8)  
output, hn = rnn(input, h_t)
print(input)
print(h_t)
print(output.size())

输出结果:
1.2.0
tensor([[[ 1.1311, -0.0911,  0.2468, -0.6441,  1.1080],
         [-0.9891, -0.5532, -0.0259,  0.6039, -1.8732]],

        [[-1.1822,  0.6525, -0.0145,  0.3297,  1.3425],
         [ 0.0903, -0.2391,  1.8707, -0.3079, -0.2726]],

        [[-0.0765, -2.5307,  1.2250,  1.2432,  0.3407],
         [ 1.4116, -1.1553,  0.2593, -1.0739, -0.0395]]])
tensor([[[ 5.9434e-01, -2.7574e-01, -1.1781e-01,  2.8008e-01,  1.2022e+00,
          -9.7032e-02,  1.0363e+00,  2.1665e+00],
         [ 1.2549e-01,  9.1247e-01,  8.0141e-01, -3.8630e-01,  3.6998e-02,
          -1.0043e+00, -8.0889e-01, -2.2091e+00]],

        [[-5.4489e-01,  2.4675e+00, -9.9404e-01,  1.9480e-01,  1.9308e+00,
          -3.8715e-01, -5.8669e-01,  8.6178e-01],
         [ 5.2911e-01, -5.7136e-01,  6.4384e-04, -8.6905e-01,  5.3215e-02,
          -1.1907e+00,  3.4911e-01, -1.0760e+00]]])
torch.Size([3, 2, 8])

“不积跬步无以至千里,不积小流无以成江河”,夯实编程基础,从一点一滴开始。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值