每天五分钟玩转深度学习PyTorch:基于pytorch搭建LSTM和GRU模型

server/2025/3/28 13:04:42/

本文重点

前面我们学习了使用pytorch搭建RNN,本文我们学习如何使用pytorch搭建LSTM和GRU模型,我们来看一下,它们两个和LSTM和GRU有什么不同。

搭建LSTM

我们可以看到模型的搭建和RNN没什么区别,关键在于它的前向传播的返回值,out和hn和RNN表示的含义一样,多了一个cn,cn和hn的维度一样的都是[层数*方向,batch,hidden-size]

除此之外,LSTM和RNN的区别还体现在参数维度上,LSTM的参数维度是RNN的四倍,可以理解为wxh的维度为(hidden_len*4,feature_len)

out表示最上层每个时刻的输出,如果要是获取最后一个时刻可以[-1,::]

Cn表示最后一个时刻的长期状态(所有层),有两层的话,那么中间层也会获取到

hn表示最后一个时刻的隐藏状态(所有层)

搭建GRU

hidden的维度是[层数*方向,batch,hidden-size]

除此之外,GRU和RNN的区别还体现在参数维度上,GRU的参数维度是RNN的四倍,可以理解为wxh的维度为(hidden_len*4,feature_len)


http://www.ppmy.cn/server/178564.html

相关文章

Js 垃圾回收 与 内存泄漏

首先需要了解 内存生命周期 基础概念: 1.分配所需内存 2.在内存中进行逻辑读/写 3.垃圾清除,释放/回收内存 即 分配内存 → 使用内存 → 释放内存 其中 使用内存 在所有语言中都一样。 但 分配内存 和 释放内存 的逻辑在如 C 中的底层语言中是明确的&…

LInux mkcert 制作本地ssl证书,配置nginx 支持https

‌一、安装前准备‌ ‌安装依赖工具‌ # Ubuntu/Debian sudo apt install libnss3-tools wget # CentOS/RHEL sudo yum install nss-tools wget ‌二、安装方法选型‌ ‌方法 1:二进制直接安装(推荐)‌ # 下载最新版二进制文件&#xff…

经典面试题:C/C++中static关键字的三大核心作用与实战应用

一、修饰局部变量:改变生命周期,保留跨调用状态 核心作用: ​延长生命周期:将局部变量从栈区移至静态存储区(数据段或BSS段),生命周期与程序一致​保留状态:变量在函数多次调用间保…

Springboot之RequestContextHolder 学习笔记

1. 核心作用 RequestContextHolder 是 Spring 框架中用于管理当前线程请求上下文的工具类。它的主要功能包括: 存储请求上下文:通过 ThreadLocal 存储与当前线程绑定的 RequestAttributes 对象(如 ServletRequestAttributes)。 全…

【从0实现muduo库系列】第二讲:基础类型与工具类

0 章节重点 重点内容 视频讲解:《CLinux编程进阶:从0实现muduo C网络框架系列》-第2讲.基础类型与工具类 代码改动 cp -r lesson1 lesson2 实现:base/Types.h 实现:base/copyable.h和noncopyable.h 实现:base/Str…

用卡片笔记要改变写作习惯

使用卡片写作法需要改变原有习惯,这点非常难也非常重要。如果每次想到什么就提笔写成一篇文章了,那积累卡片比较困难,因此写作的时候要慢下来,先积累卡片,然后文章里再使用。 此外,平时也要改变学习的习惯…

Leetcode—454. 四数相加 II(STL的map AND 基础算法)

题目&#xff1a; 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入&#xff…

ARM 汇编基础

ARM 汇编是嵌入式开发、操作系统底层编程和性能优化的核心技能之一。以下是一份系统的 ARM 汇编指令教学指南&#xff0c;涵盖基础语法、核心指令、编程模式和实用示例。 ​1. ARM 汇编基础 ​ 1.1 寄存器 ARM 架构&#xff08;32位&#xff09;包含 ​16 个通用寄存器​&…