LSTM 隐藏状态维度有错误:RuntimeError: Expected hidden[0] size (4, 1, 256), got (1, 256)

硕士

我正在 PyTorch 中试验 seq2seq_tutorial。编码器的 lstm 隐藏状态大小似乎存在维度错误。

使用bidirectional=Truenum_layers = 2,隐藏状态的形状应该是(num_layers*2, batch_size, hidden_size)

但是,出现错误并显示以下消息:

RuntimeError: Expected hidden[0] size (4, 1, 256), got (1, 256)

我尝试重塑隐藏状态以初始化具有不同形状的隐藏状态,一开始,但似乎没有任何效果。

这是我的代码的火车方法:

def train(self, input, target, encoder, decoder, encoder_optim, decoder_optim, criterion):
    enc_optimizer = encoder_optim
    dec_optimizer = decoder_optim
    enc_optimizer.zero_grad()
    dec_optimizer.zero_grad()

    pair = (input, target)
    input_len = input.size(0)
    target_len = target.size(0)
    enc_output_tensor = torch.zeros(self.opt['max_seq_len'], encoder.hidden_size, device=device)
    enc_hidden = encoder.cuda().initHidden(device)

    for word_idx in range(input_len):
        print('Input:', input[word_idx], '\nHidden shape:', enc_hidden.size())
        enc_output, enc_hidden = encoder(input[word_idx], enc_hidden)
        enc_output_tensor[word_idx] = enc_output[0,0]

这是我的代码的编码器方法:

class EncoderBRNN(nn.Module):
    # A bidirectional rnn based encoder
    def __init__(self, input_size, hidden_size, emb_size, batch_size=1, num_layers=2, bidir=True):
        super(EncoderBRNN, self).__init__()
        self.input_size = input_size
        self.hidden_size = hidden_size
        self.batch_size = batch_size
        self.embedding_dim = emb_size
        self.num_layers = num_layers
        self.bidir = bidir
        self.embedding_layer = nn.Embedding(self.input_size, self.embedding_dim)
        self.enc_layer = nn.LSTM(self.embedding_dim, self.hidden_size, num_layers=self.num_layers, bidirectional=self.bidir)

    def forward(self, input, hidden):
        embed = self.embedding_layer(input).view(1, 1, -1)
        output, hidden = self.enc_layer(embed, hidden)
        return output, hidden

    def initHidden(self, device):
        if self.bidir:
            num_stacks = self.num_layers * 2
        else:
            num_stacks = self.num_layers
        return torch.zeros(num_stacks, self.batch_size, self.hidden_size, device=device)
肯迈尔斯

我知道这是不久前被问到的,但我想我在这个火炬讨论中找到了答案相关资料:

LSTM 需要一个隐藏状态元组: self.rnn(x, (h_0, c_0)) 看起来你还没有在第二个隐藏状态下发送?

您还可以在LSTM的文档中看到这一点

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RuntimeError: Given groups=1, weight of size 16 1 5 5, 预期输入[100, 3, 256, 256] 有 1 个通道,但得到 3 个通道

来自分类Dev

RuntimeError:给定组= 1,权重为[64、1、4、4],预期输入[256、3、32、32]具有1个通道,但改为3个通道

来自分类Dev

ValueError:连续图层_1的输入0与以下图层不兼容::预期的min_ndim = 4,找到的ndim = 3。收到完整的图形:[无,256、256]

来自分类Dev

Keras:使用“输入”层时出现“发现:Tensor(“ input_1:0”,shape =(None,256,256,2),dtype = float32)“错误

来自分类Dev

numpy:如何将(256,256)值图像转换为(256,256,1)数据点数组并返回?

来自分类Dev

bash PS1 256色加粗

来自分类Dev

RSA / ECB / OAEPWithSHA-256AndMGF1Padding但使用SHA-256的MGF1吗?

来自分类Dev

我该如何解决“输入形状的预期轴-1的值为1,但收到形状为[None,256,256,3]'的输入”错误?

来自分类Dev

如何给定形状为(batch_size,200,256)的张量索引以获得给定的长度= batch_size的索引张量列表(batch_size,1,256)?

来自分类Dev

如何使用 sha256 哈希生成 0 到 1 之间的随机数

来自分类Dev

无法将大小为 85696 的数组重塑为形状 (85696,1,256,256)

来自分类Dev

错误的填充例外-pkcs11中的RSA / ECB / OAEPWITHSHA-256ANDMGF1PADDING

来自分类Dev

错误的填充例外-pkcs11中的RSA / ECB / OAEPWITHSHA-256ANDMGF1PADDING

来自分类Dev

Javascript。如何有效存储ECIES方案的Secp256k1私钥

来自分类Dev

无法将令牌数从1更改为256

来自分类Dev

SECP256K1使用SawTooth Swift进行验证

来自分类Dev

1指令可移位128/256位吗?

来自分类Dev

无法将令牌数量从256更改为1

来自分类Dev

SHA1和SHA256是否关联?

来自分类Dev

为什么memcmp()返回256且相差1?

来自分类Dev

不同的 SHA1 但相同的 SHA256

来自分类Dev

将 sha1 转换为 sha256

来自分类Dev

PyTorch LSTM:RuntimeError:无效参数0:张量的大小必须匹配,但维度0除外。在维度1中为1219和440

来自分类Dev

WoeUSB的状态为256

来自分类Dev

在MATLAB中将256 * 2048单元格转换为256 * 256单元格,其中每个元素为1 * 8字符

来自分类Dev

预期隐藏的[0]大小(2,8,256),得到的[8,256]

来自分类Dev

如何使用海绵城堡为比特币曲线(secp256k1)创建ECDSA密钥对(256bit)?

来自分类Dev

使用secp256r1曲线和SHA256算法生成ECDSA签名-BouncyCastle

来自分类Dev

使用secp256r1曲线和SHA256算法生成ECDSA签名-BouncyCastle

Related 相关文章

  1. 1

    RuntimeError: Given groups=1, weight of size 16 1 5 5, 预期输入[100, 3, 256, 256] 有 1 个通道,但得到 3 个通道

  2. 2

    RuntimeError:给定组= 1,权重为[64、1、4、4],预期输入[256、3、32、32]具有1个通道,但改为3个通道

  3. 3

    ValueError:连续图层_1的输入0与以下图层不兼容::预期的min_ndim = 4,找到的ndim = 3。收到完整的图形:[无,256、256]

  4. 4

    Keras:使用“输入”层时出现“发现:Tensor(“ input_1:0”,shape =(None,256,256,2),dtype = float32)“错误

  5. 5

    numpy:如何将(256,256)值图像转换为(256,256,1)数据点数组并返回?

  6. 6

    bash PS1 256色加粗

  7. 7

    RSA / ECB / OAEPWithSHA-256AndMGF1Padding但使用SHA-256的MGF1吗?

  8. 8

    我该如何解决“输入形状的预期轴-1的值为1,但收到形状为[None,256,256,3]'的输入”错误?

  9. 9

    如何给定形状为(batch_size,200,256)的张量索引以获得给定的长度= batch_size的索引张量列表(batch_size,1,256)?

  10. 10

    如何使用 sha256 哈希生成 0 到 1 之间的随机数

  11. 11

    无法将大小为 85696 的数组重塑为形状 (85696,1,256,256)

  12. 12

    错误的填充例外-pkcs11中的RSA / ECB / OAEPWITHSHA-256ANDMGF1PADDING

  13. 13

    错误的填充例外-pkcs11中的RSA / ECB / OAEPWITHSHA-256ANDMGF1PADDING

  14. 14

    Javascript。如何有效存储ECIES方案的Secp256k1私钥

  15. 15

    无法将令牌数从1更改为256

  16. 16

    SECP256K1使用SawTooth Swift进行验证

  17. 17

    1指令可移位128/256位吗?

  18. 18

    无法将令牌数量从256更改为1

  19. 19

    SHA1和SHA256是否关联?

  20. 20

    为什么memcmp()返回256且相差1?

  21. 21

    不同的 SHA1 但相同的 SHA256

  22. 22

    将 sha1 转换为 sha256

  23. 23

    PyTorch LSTM:RuntimeError:无效参数0:张量的大小必须匹配,但维度0除外。在维度1中为1219和440

  24. 24

    WoeUSB的状态为256

  25. 25

    在MATLAB中将256 * 2048单元格转换为256 * 256单元格,其中每个元素为1 * 8字符

  26. 26

    预期隐藏的[0]大小(2,8,256),得到的[8,256]

  27. 27

    如何使用海绵城堡为比特币曲线(secp256k1)创建ECDSA密钥对(256bit)?

  28. 28

    使用secp256r1曲线和SHA256算法生成ECDSA签名-BouncyCastle

  29. 29

    使用secp256r1曲线和SHA256算法生成ECDSA签名-BouncyCastle

热门标签

归档