cudnn.BLSTM重量和偏置

时间:2019-04-04 04:33:37

标签: lua pytorch torch

如何用lua提取火炬中BLSTM的重量并将其放入火炬BLSTM中:

示例

# torch
rnn = c`udnn.BLSTM(1280, 256, 5, false, 0.5)`
# pytorch
nn.LSTM(input_size=1280, hidden_size=256, num_layers=5,
                       bidirectional=True, dropout=0.5)

要显示权重和偏差,我们可以使用:

rnn:weights()
rnn:biaises()

这是rnn:weights()

{   1 : 
    {
      1 : CudaTensor - size: 327680
      2 : CudaTensor - size: 327680
      3 : CudaTensor - size: 327680
      4 : CudaTensor - size: 327680
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   2 : 
    {
      1 : CudaTensor - size: 327680
      2 : CudaTensor - size: 327680
      3 : CudaTensor - size: 327680
      4 : CudaTensor - size: 327680
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   3 : 
    {
      1 : CudaTensor - size: 131072
      2 : CudaTensor - size: 131072
      3 : CudaTensor - size: 131072
      4 : CudaTensor - size: 131072
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   4 : 
    {
      1 : CudaTensor - size: 131072
      2 : CudaTensor - size: 131072
      3 : CudaTensor - size: 131072
      4 : CudaTensor - size: 131072
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   5 : 
    {
      1 : CudaTensor - size: 131072
      2 : CudaTensor - size: 131072
      3 : CudaTensor - size: 131072
      4 : CudaTensor - size: 131072
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   6 : 
    {
      1 : CudaTensor - size: 131072
      2 : CudaTensor - size: 131072
      3 : CudaTensor - size: 131072
      4 : CudaTensor - size: 131072
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   7 : 
    {
      1 : CudaTensor - size: 131072
      2 : CudaTensor - size: 131072
      3 : CudaTensor - size: 131072
      4 : CudaTensor - size: 131072
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   8 : 
    {
      1 : CudaTensor - size: 131072
      2 : CudaTensor - size: 131072
      3 : CudaTensor - size: 131072
      4 : CudaTensor - size: 131072
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   9 : 
    {
      1 : CudaTensor - size: 131072
      2 : CudaTensor - size: 131072
      3 : CudaTensor - size: 131072
      4 : CudaTensor - size: 131072
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    }   10 : 
    {
      1 : CudaTensor - size: 131072
      2 : CudaTensor - size: 131072
      3 : CudaTensor - size: 131072
      4 : CudaTensor - size: 131072
      5 : CudaTensor - size: 65536
      6 : CudaTensor - size: 65536
      7 : CudaTensor - size: 65536
      8 : CudaTensor - size: 65536
    } }

在这里看起来权重是连接在一起的,如何计算每个过滤器的高度和宽度。另外,我希望有20个权重和偏差张量(5个(层)* 2个(方向)* 2个(权重,weights_reverse))

0 个答案:

没有答案