为什么 RNN 需要两个偏置向量?

2024-04-14

In Pytorch RNN 实现 http://pytorch.org/docs/master/nn.html?highlight=rnn#torch.nn.RNN,有两个偏差,b_ih and b_hh。 为什么是这样?它与使用一种偏差有什么不同吗?如果是,怎么办?会影响性能或效率吗?


实际上,之前(已接受)的答案是错误的。仅由于与 CuDNN 兼容,才需要第二个偏差参数。见同代码文档 https://pytorch.org/docs/master/_modules/torch/nn/modules/rnn.html#RNNBase:

class RNNBase(Module):
    ...
    def __init__(self, ...):
        ...
        w_ih = Parameter(torch.empty((gate_size, layer_input_size), **factory_kwargs))
        w_hh = Parameter(torch.empty((gate_size, real_hidden_size), **factory_kwargs))
        b_ih = Parameter(torch.empty(gate_size, **factory_kwargs))
        # Second bias vector included for CuDNN compatibility. Only one   <---  this
        # bias vector is needed in standard definition.                   <--- comment
        b_hh = Parameter(torch.empty(gate_size, **factory_kwargs))
        ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 RNN 需要两个偏置向量? 的相关文章

随机推荐

  • C++ 构造函数和析构函数顺序

    我正在尝试有关基类和成员构造和销毁的代码 并且我对构造函数和析构函数的某些顺序感到困惑 这段代码的输出是 Base1 constructor Member1 constructor Member2 constructor Derived1
  • Numpy einsum 给出错误:折叠索引 'q' 的操作数 0 中的维度不匹配 (4 != 2)

    我正在尝试使用 numpy 的 einsum 计算以下内容 import numpy as np tmp ee np ones 2 4 4 tmp ij np ones 2 2 4 2 4 2 print tmp ee shape prin
  • 打开新窗口而不关注它[重复]

    这个问题在这里已经有答案了 我有这样的情况 我尝试打开一个窗口window open功能新窗口在主窗口前面打开 我如何在主窗口后台打开它 而不关注新窗口 可以做这样的事吗 你所寻求的叫做 弹出 窗口 http www javascriptk
  • java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0

    我无法解决这个异常 我已经阅读了 hadoop 文档以及我能找到的所有相关的 stackoverflow 问题 我的 fileSystem mkdirs 抛出 Exception in thread main java lang Unsat
  • 如何创建仅本地主机的Java套接字?

    我有一个 Java 服务器 它使用 ServerSocket 使用 Thrift 打开一个套接字 该服务器在 Obj c 的本地计算机上有一个与 Java 服务器通信的客户端 一切都发生在本地主机上 现在java服务器在网络上也是可见的 我
  • Python:使用另一个命令的输入

    我想知道如何管理 python 脚本中另一个命令的输入 Example cat myfile txt my python script py 我的脚本如何管理来自 cat 命令的输入流 如何从此管道命令获取输入 多谢 实现此目的的一种简单且
  • 在 PHP 中使用 CURL 发布以“@”开头的文本数据

    我使用 CURL 在 PHP 中发布数据 如下所示 curl setopt ch CURLOPT POSTFIELDS args 其中 args 参数数组 问题在于其中一个参数的值以 开头 根据 CURL 文档 这意味着我将发送一个文件 但
  • 我可以在 iOS 上使用 MongoDB 来替代 CoreData 吗?

    我刚刚开始阅读 MongoDB 和 CouchDB 等 NoSQL 技术 我有兴趣知道是否可以使用 MongoDB 或任何 NoSQL 技术来替代 Core Data 应用程序 核心数据应用程序可能需要很长时间来学习和实现 特别是如果您的应
  • 谷歌云视觉 API - Python

    我似乎找不到在哪里添加 API 密钥 也找不到在我的 google 云视觉代码中找到 google 凭证文件的位置 import argparse import base64 import httplib2 import validator
  • 找不到概念模型类型

    我在 MVC3 项目 A 和 B 中有两个实体数据模型 我最近添加了新的实体数据模型 B 来处理一些新功能 问题是现在现有代码已停止工作 并且在尝试访问实体模型 A 中的代码时出现以下错误 错误信息是 找不到概念模型类型 project m
  • 意外删除表时恢复 cassandra 集群数据

    如您所知 Cassandra 集群具有复制功能 可以防止数据丢失 即使集群中的某些节点发生故障也是如此 但是 如果管理员不小心删除了一个包含大量数据的表 并且该命令已经由集群中的所有副本执行 这是否意味着您丢失了该表并且无法恢复它 有什么建
  • Python PrettyTable:在表格标题上方添加标题

    我有一个生成多个表的脚本 这些表都具有相同的列名和非常相似的数据 到目前为止 我一直通过在每个表之前打印标题来使每个表变得唯一 即 print Results for Method Foo table 1 print Results for
  • 机器人框架中“If语句”的使用

    我们如何在机器人框架中使用if语句 我想仅当关键字满足某些条件时才执行它 否则它会执行其他代码 这在机器人框架用户指南 http robotframework org robotframework latest RobotFramework
  • WT中如何清理内存?

    更新 2013 年 3 月 27 日 您还必须意识到 从 Wt 3 3 0 开始 只有收到请求后才会清除会话 请参阅这个回复 http redmine webtoolkit eu boards 2 topics 5614 r 5615 me
  • NetBeans 模块项目中是否可以依赖 JAR 文件?

    我创建了一个 NetBeans 模块项目 需要添加对我创建的 JAR 文件的依赖项 这可能吗 我只看到添加对其他模块的依赖项的选项 我正在使用 NetBeans 6 5 1 THANKS 模块只能依赖于其他模块 创建引用您的类的库 然后创建
  • 循环遍历动态添加元素的数组

    jQuery 新手 请求帮助解决我无法解决的问题 克隆的表行包含
  • 使用 run-as 命令在 Samsung 4.4.2“程序包未知”上调试本机应用程序

    在尝试通过 Galaxy S4 上的 Eclipse 调试 Android 本机应用程序时 我在 run as 命令中收到 包未知 错误 有一个开放的这说明了与许可相关的问题 data system packages list文件必须是rw
  • NSMutableArray 与 NSArray 哪个更好

    这是一个有点愚蠢的问题 但是如果我想将一个对象添加到数组中 我可以使用两者来完成NSMutableArray and NSArray 我应该使用哪个 NSMutableArray array1 array1 addObject obj NS
  • 当另一个应用程序开始/停止播放音频时,我的应用程序可以收到通知吗?

    我的 iOS 游戏有音乐和音效 我想让用户听自己的音乐来代替游戏的背景音乐 一个简单的解决方案是添加一个新的菜单项来禁用游戏的背景音乐 但是 我想避免创建新的菜单项 除非我确信这种方法对用户来说更糟糕 我目前的做法 将音频会话类别设置为AV
  • 为什么 RNN 需要两个偏置向量?

    In Pytorch RNN 实现 http pytorch org docs master nn html highlight rnn torch nn RNN 有两个偏差 b ih and b hh 为什么是这样 它与使用一种偏差有什么