pytorch LSTM模型

本文详细介绍了PyTorch中BILSTM模型的初始化和运作原理,包括torch.nn.Embedding的使用,它将文本映射为向量,以及torch.nn.LSTM的结构分析,解释了RNN中参数的共享和前向传播过程。BILSTM的输入和输出特性也被详细阐述,特别是如何应用于情感分析任务的decoder部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


BILSTM模型初始化

1.torch.nn.Embedding

self.embedding = nn.Embedding(vocab_size,embedding_size,padding_idx=pad_idx)
  • num_embeddings:嵌入字典的大小(词的个数);
  • embedding_dim:每个嵌入向量的大小;
  • padding_idx:若给定,则每遇到 padding_idx 时,位于 padding_idx 的嵌入向量(即 padding_idx 映射所对应的向量)为0;

功能:将已经映射为数字的文本映射为embedding_dim维的向量,

输入:文本的 Long Tensor;

输出:输出 shape =(*,H),其中 * 为输入的 shape,H = embedding_dim(若输入 shape 为 N*M,则输出 shape 为 N*M*H);

torch.nn.Embedding 的权重为 num_embeddings * embedding_dim 的矩阵,例如输入10行,每行最多5个词,每个词用3为向量表示,则权重为10*5*3的矩阵;
 

import torch
from torch import nn

embedding = nn.Embedding(5, 4) # 假定字典中只有5个词,词向量维度为4
word = [[1, 2, 3],
        [2, 3, 4]] # 每个数字代表一个词,例如 {'!':0,'how':1, 'are':2, 'you':3,  'ok':4}
         		   #而且这些数字的范围只能在0~4之间,因为
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值