当前位置: 首页 > news >正文

乐清网站推广做美食视频的网站

乐清网站推广,做美食视频的网站,vue.js合作做网站么,常州云计算网站建设本节实现一个简单的 Seq2Seq(Sequence to Sequence)模型 的编码器(Encoder)和解码器(Decoder)部分。 重点把握Seq2Seq 模型的整体工作流程 理解编码器(Encoder)和解码器&#xff08…

本节实现一个简单的 Seq2Seq(Sequence to Sequence)模型 的编码器(Encoder)和解码器(Decoder)部分。

 重点把握Seq2Seq 模型的整体工作流程

理解编码器(Encoder)和解码器(Decoder)代码

本小节引入了nn.GRU API的调用,nn.GRU具体参数将在下一小节进行补充讲解

1. 编码器(Encoder

类定义
class Encoder(nn.Module):def __init__(self, vocab_size, embedding_dim, hidden_size):super().__init__()self.emb = nn.Embedding(vocab_size, embedding_dim)self.rnn = nn.GRU(embedding_dim, hidden_size, batch_first=True)
  • vocab_size:输入词汇表的大小,即输入序列中可能出现的不同单词或标记的数量。

  • embedding_dim:嵌入层的维度,即每个单词或标记被映射到的向量空间的维度。

  • hidden_size:GRU(门控循环单元)的隐藏状态维度,决定了模型的内部状态大小。

主要组件
  1. 嵌入层(nn.Embedding

    • 嵌入层会将输入序列形状转换为 [batch_size, seq_len, embedding_dim] 的张量。

    • 这种映射是通过学习嵌入矩阵实现的,每个单词索引对应嵌入矩阵中的一行。

  2. GRU(nn.GRU

    • embedding_dim 是 GRU 的输入维度,hidden_size 是隐藏状态的维度。

    • batch_first=True 表示输入和输出的张量的第一个维度是批量大小(batch_size),而不是序列长度(seq_len)。

前向传播(forward
def forward(self, x):embs = self.emb(x) #batch * token * embedding_dimgru_out, hidden = self.rnn(embs) #batch * token * hidden_sizereturn gru_out, hidden
  • 输入 x 是一个形状为 [batch_size, seq_len] 的张量,表示一个批次的输入序列。

  • embs 是嵌入层的输出,形状为 [batch_size, seq_len, embedding_dim]

  • gru_out 是 GRU 的输出,形状为 [batch_size, seq_len, hidden_size],表示每个时间步的隐藏状态。

  • hidden 是 GRU 的最终隐藏状态,形状为 [1, batch_size, hidden_size]用于传递给解码器。

 

2. 解码器(Decoder)

类定义
class Decoder(nn.Module):def __init__(self, vocab_size, embedding_dim, hidden_size):super().__init__()self.emb = nn.Embedding(vocab_size, embedding_dim)self.rnn = nn.GRU(embedding_dim, hidden_size, batch_first=True)
  • 解码器的结构与编码器类似,但它的作用是将编码器生成的上下文向量(hidden)解码为目标序列。

主要组件
  1. 嵌入层(nn.Embedding

    • 与编码器类似,将目标序列的单词索引映射到嵌入向量。

  2. GRU(nn.GRU

    • 与编码器中的 GRU 类似,但其输入是目标序列的嵌入向量,初始隐藏状态是编码器的最终隐藏状态。

前向传播(forward
def forward(self, x, hx):embs = self.emb(x)gru_out, hidden = self.rnn(embs, hx=hx) #batch * token * hidden_size# batch * token * hidden_size# 1 * token * hidden_sizereturn gru_out, hidden
  • 输入 x 是目标序列的单词索引,形状为 [batch_size, seq_len]

  • hx 是编码器的最终隐藏状态,形状为 [1, batch_size, hidden_size]作为解码器的初始隐藏状态。

  • embs 是目标序列的嵌入向量,形状为 [batch_size, seq_len, embedding_dim]

  • gru_out 是解码器 GRU 的输出,形状为 [batch_size, seq_len, hidden_size]

  • hidden 是解码器 GRU 的最终隐藏状态,形状为 [1, batch_size, hidden_size]

3. Seq2Seq 模型的整体工作流程⭐

  1. 编码阶段

    • 输入序列通过编码器的嵌入层,将单词索引映射为嵌入向量。

    • 嵌入向量通过 GRU,生成每个时间步的隐藏状态和最终的隐藏状态(上下文向量)。

    • 最终隐藏状态(hidden)作为编码器的输出,传递给解码器。

  2. 解码阶段

    • 解码器的初始隐藏状态是编码器的最终隐藏状态。

    • 解码器逐个生成目标序列的单词,每次生成一个单词后,将该单词的嵌入向量作为下一次输入,同时更新隐藏状态。

    • 通过这种方式,解码器逐步生成目标序列。

http://www.dtcms.com/a/595146.html

相关文章:

  • 东莞网络营销价格咨询怎么对一个网站做优化
  • 北仑建网站价格宿迁网站建设公司
  • 做网站与做网页的区别网站标准宽度
  • 阳泉网站建设哪家便宜学做沪江网站要多久
  • 常用的网站建设程序有那些网站开发软件d
  • 打工人日报#20251110
  • 做手机网站多少钱思科网站建设配置站点dns服务
  • 双语网站建设网站网站建设公司每年可以做多少个网站
  • 网站后台模板 jquery现在的网站开发都用什么开发
  • 果洛州wap网站建设公司手机上如何设置wordpress
  • 深圳市坪山新区建设局网站企业网站seo推广技巧
  • 自助网站建设开发wordpress安装需要什么
  • 辽阳公司做网站郑州网站开发比较好的网络公司
  • 昆凌做的广告买化妆品网站山东闪电建站网
  • 无锡建设网站的公司简介直播网站的建设
  • 北海哪里做网站建设android应用开发基础
  • 网站主页面最开始在哪里做高端网站首页
  • 网站建设与网页设计美食怎样在手机安装wordpress
  • html网页设计环保网站重庆网站开发哪家好
  • 找建站公司电脑怎么制作图片
  • 上门做网站公司哪家好服装公司电子商务网站建设策划书
  • 网站制作费用申请沧州市做网站
  • 做网站有哪些公司好wordpress 与 dede
  • 如何创建微信小程序商店seo网站推广软件
  • OpenAI 悄然上线「网校」OpenAI Academy
  • 免费注册域名的网站外贸公司如何做公司网站
  • 网站页面改版降权wordpress一栏主题
  • Spring5基础教程(1)-- 控制反转(IoC)/自动装配(@Autowired)/Bean容器配置
  • 阿里巴巴企业网站建设网站建设制作费 税前扣除吗
  • 怎么建设手机端网站wordpress+怎么改密码