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

旅游网站建设开题报告怎么区分模板网站

旅游网站建设开题报告,怎么区分模板网站,乒乓球网站建设目标,新北方app下载文章目录 1. LSTM简介#xff1a;2. LSTM结构图#xff1a;3. 单层LSTM详解4. 双层LSTM详解5. BiLSTM6. Pytorch实现LSTM示例7. nn.LSTM参数详解 1. LSTM简介#xff1a; LSTM是一种循环神经网络#xff0c;它可以处理和预测时间序列中间隔和延迟相对较长的重要事件。LSTM通… 文章目录 1. LSTM简介2. LSTM结构图3. 单层LSTM详解4. 双层LSTM详解5. BiLSTM6. Pytorch实现LSTM示例7. nn.LSTM参数详解 1. LSTM简介 LSTM是一种循环神经网络它可以处理和预测时间序列中间隔和延迟相对较长的重要事件。LSTM通过使用门控单元来控制信息的流动从而缓解RNN中的梯度消失和梯度爆炸的问题。LSTM的核心是三个门输入门、遗忘门和输出门。 遗忘门 遗忘门的作用是决定哪些信息从记忆单元中遗忘它使用sigmoid激活函数可以输出在0到1之间的值可以理解为保留信息的比例。 输入门 作用是决定哪些新信息被存储在记忆单元中 输出门 输出门决定了下一个隐藏状态即生成当前时间步的输出并传递到下一时间步 记忆单元负责长期信息的存储通过遗忘门和输入门的相互作用记忆单元能够学习如何选择性地记住或忘记信息 2. LSTM结构图 涉及到的计算公式如下 3. 单层LSTM详解 1设定有3个字的序列【“早”“上”“好”】要经过LSTM处理每个序列由20个元素组成的列向量构成所以input size就为20。 2设定全连接层中有100个隐藏单元LSTM的层数为1。 3因为是3个字的序列所以LSTM需要3个时间步即会自循环3次才能处理完这个序列。 4nn.LSTM()每层也可以拆开写这样每层的隐藏单元个数就可以分别设定。 LSTM单元包含三个输入参数x、c、h首先t1时刻作为第一个时间步输入到第一个LSTM单元中此时输入的初始从c(0)和h(0)都是0矩阵计算完成后第一个LSTM单元输出一组h(t1)\c(t1)作为本层LSTM的第二个时间步的输入参数因此第二个时间步的输入就是h(t1)c(t1)x(t2)而输出是h(t2)c(t2)因此第三个时间步的输入就是h(t2)c(t2)x(t3)而输出是h(t3)c(t3)。 4. 双层LSTM详解 1设定有3个字的序列【“早”“上”“好”】要经过LSTM处理每个序列由20个元素组成的列向量构成所以input size就为20。 2设定全连接层中有100个隐藏单元LSTM的层数为2。 3因为是3个字的序列所以LSTM需要3个时间步即会自循环3次才能处理完这个序列。 4nn.LSTM()每层也可以拆开写这样每层的隐藏单元个数就可以分别设定。 第二层LSTM没有输入参数x(t1)、x(t2)、x(t3)所以我们将第一层LSTM输出的h(t1)、h(t2)、h(t3)作为第二层LSTM的输入x(t1)、x(t2)、x(t3)。第一个时间步输入的初始c(0)和h(0)都为0矩阵计算完成后第一个时间步输出新的一组h(t1)、c(t1)作为本层LSTM的第二个时间步的输入参数因此第二个时间步的输入就是h(t1)c(t1)x(t2)而输出是h(t2)c(t2)因此第三个时间步的输入就是h(t2)c(t2)x(t3)而输出是h(t3)c(t3)。 5. BiLSTM 单层的BiLSTM其实就是2个LSTM一个正向去处理序列一个反向去处理序列处理完后两个LSTM的输出会拼接起来。 6. Pytorch实现LSTM示例 import torch import torch.nn as nndevice torch.device(cuda if torch.cuda.is_available() else cpu)class LSTM(nn.Module):def __init__(self, input_dim, hidden_dim, num_layers, output_dim):super(LSTM, self).__init__()self.hidden_dim hidden_dim # 隐藏层维度self.num_layers num_layers # LSTM层的数量# LSTM网络层self.lstm nn.LSTM(input_dim, hidden_dim, num_layers, batch_firstTrue)# 全连接层用于将LSTM的输出转换为最终的输出维度self.fc nn.Linear(hidden_dim, output_dim)def forward(self, x):# 初始化隐藏状态和细胞状态h0 torch.zeros(self.num_layers, x.size(0), self.hidden_dim).to(device)c0 torch.zeros(self.num_layers, x.size(0), self.hidden_dim).to(device)# 前向传播LSTM返回输出和最新的隐藏状态与细胞状态out, (hn, cn) self.lstm(x, (h0.detach(), c0.detach()))# 将LSTM的最后一个时间步的输出通过全连接层out self.fc(out[:, -1, :])return out7. nn.LSTM参数详解 pytorch官方定义 CLASS torch.nn.LSTM(         input_size,         hidden_size,         num_layers1,         biasTrue,         batch_firstFalse,         dropout0.0,         bidirectionalFalse,         proj_size0,         deviceNone,         dtypeNone     ) input_size – 输入 x 中预期的特征数量 hidden_size – 隐藏状态 h 中的特征数量 num_layers – 循环层的数量。例如设置 num_layers2 表示将两个 LSTM 堆叠在一起形成一个 stacked LSTM其中第二个 LSTM 接收第一个 LSTM 的输出并计算最终结果。默认值1 bias – 如果 False则该层不使用偏差权重 b_ih 和 b_hh。默认值True batch_first – 如果 True则输入和输出张量将以 (batch, seq, feature) 而不是 (seq, batch, feature) 的形式提供。请注意这并不适用于隐藏状态或单元状态。有关详细信息请参见下面的输入/输出部分。默认值False dropout – 如果非零则在除最后一层之外的每个 LSTM 层的输出上引入一个 Dropout 层其 dropout 概率等于 dropout。默认值0 bidirectional – 如果 True则变为双向 LSTM。默认值False proj_size – 如果 0则将使用具有相应大小的投影的 LSTM。默认值0 对于输入序列每一个元素每一层都会进行以下计算 网络输入 网络输出 本文参考https://blog.csdn.net/qq_34486832/article/details/134898868 https://pytorch.ac.cn/docs/stable/generated/torch.nn.LSTM.html# LSTM每层的输出都要经过全连接层吗还是直接对隐藏层进行输出 通过在代码中对lstm的输出进行print输出 import torch import torch.nn as nndevice torch.device(cuda if torch.cuda.is_available() else cpu)class LSTM(nn.Module):def __init__(self, input_dim, hidden_dim, num_layers, output_dim):super(LSTM, self).__init__()self.hidden_dim hidden_dim # 隐藏层维度self.num_layers num_layers # LSTM层的数量# LSTM网络层self.lstm nn.LSTM(input_dim, hidden_dim, num_layers, batch_firstTrue)# 全连接层用于将LSTM的输出转换为最终的输出维度self.fc nn.Linear(hidden_dim, output_dim)def forward(self, x):# 初始化隐藏状态和细胞状态h0 torch.zeros(self.num_layers, x.size(0), self.hidden_dim).to(device)c0 torch.zeros(self.num_layers, x.size(0), self.hidden_dim).to(device)# 前向传播LSTM返回输出和最新的隐藏状态与细胞状态out, (hn, cn) self.lstm(x, (h0.detach(), c0.detach()))print(out)print(hn)print(cn)# 将LSTM的最后一个时间步的输出通过全连接层out self.fc(out[:, -1, :])return out if __name__ __main__:input_dim 3 # 输入特征的维度hidden_dim 4 # 隐藏层的维度num_layers 1 # LSTM 层的数量output_dim 1 # 输出特征的维度lstm LSTM(input_dim, hidden_dim, num_layers, output_dim).to(device)batch_size 1seq_length 10input_tensor torch.randn(batch_size, seq_length, input_dim).to(device)output lstm(input_tensor)通过对LSTM网络的输出我们可以看到out的最后一层与最后一层隐藏层hn一致说明并未经过全连接层而是直接输出隐藏层
http://www.hkea.cn/news/14403167/

相关文章:

  • 做网站销售话术python基础教程题库
  • 网站后期维护管理临海市住房与城乡建设规划局网站
  • 仪器仪表行业网站建设更改文章标题字体wordpress
  • dedecms网站地图制作网站推广宜选刺盾云下拉
  • 成都网站设计成功柚v米科技做鞋的网站
  • 网站编辑应该怎么做广东省网站备案要多久
  • 专业型企业网站有哪些《网页设计与网站建设》
  • vs2010做网站教程网站建设先进技术
  • 南通市住房和城乡建设厅网站centos7如何安装wordpress
  • 昆明网站推广昆山企业网站设计
  • wordpress 3.9 慢汕头seo优化培训
  • 济宁做网站大约多少钱wordpress 添加用户
  • 手游网站怎么做购物网站技术实施方案
  • 点金网站建设wordpress支付宝免签约
  • 上海社区网站建设建设通是正规网站吗
  • 美工做网站尺寸多少健身俱乐部网站模板
  • 辽宁省建设工程信息网官网新网站入口长沙关键词快速排名
  • 单机做游戏 迅雷下载网站网站开发准备工作
  • 西安手机商城网站建设公众号营销
  • 怎么学做网站三五互联做网站怎么样
  • 鼓楼做网站佛山 网站设计公司
  • 网站建设 网站开发做pc端网站流程
  • wordpress网站破解wordpress 伪静态 效果
  • 手机网站开发需求 百度云盘h5开发入门
  • 网站空间多大不建立网站建设的利弊
  • 网站开发实战asp制作视频wordpress chianz
  • 汽车网站建设开题报告wordpress开发找工作
  • 静态展示网站多少钱如何建设班级网站首页
  • 网站文章内容优化方案wordpress首页图片插件
  • 广州白云机场网站建设手机网页免费制作app