【pytorch】nn.linear 中为什么是y=xA^T+b

我记得读教材的时候是y=Wx+b, 左乘矩阵W,这样才能表示线性变化。
但是pytorch中的nn.linear中,计算方式是y=xA^T+b,其中A是权重矩阵。
为什么右乘也能表示线性变化操作呢?因为pytorch中,照顾到输入是多个样本一起算的(第一个维度是多个样本数,所以输入默认是行向量),所以用y=xA^T+b,输出的y也是行向量。

在这里插入图片描述

我们的教材中默认输入是列向量的,而pytorch为了用户方便,输入当作列向量,维度为(batch, dim),每行是特征

m = nn.Linear(20, 30)
input = torch.randn(128, 20)
output = m(input)print(output.size())
>>> torch.Size([128, 30])
print(m.weight.shape)
>>>torch.Size([30, 20])  # 注意这里的权重维度

我们再看一张图片,理解一下代码中的实现逻辑:
在这里插入图片描述

至此应该对代码的实现很理解了,但是需要注意,大家写文章中用的都还是Wx+b的写法。
不管怎样,文章和代码都是能对应上的,最多是表示方式的区别(有的用行向量,有的用列向量)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/442230.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu-22.04上ToDest设置开机不弹出图形界面

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、开始操作1.设置图形端 总结 前言 有时候远程成为开发必不可少的工具,目前国内有很多相关的软件,比较有名的是向日葵、ToDesk、Rust…

15.Golang中的反射机制及应用

目录 概述实践基本应用复杂应用 结束 概述 Golang中的反射用法还是比较简单的 reflect.TypeOf(arg)reflect.ValueOf(arg) 实践 基本应用 package mainimport ("fmt""reflect" )func reflectNum(arg interface{}) {fmt.Println("type ", re…

基于开发板的单片机实验教学改革与实践

摘 要:分析单片机实验的特点及其教学中存在的问题,提出以单片机开发板为实验平台进行单片机实验教学,从教学内容、授课方式和课程考核3 方面介绍对现有单片机实验教学的改革和创新,最后说明实践效果。 关键词:单片机实…

【Git】02 仓库、区域与基本操作

文章目录 一、Git仓库二、Git区域三、操作3.1 git add3.2 更改文件名3.3 清空暂存区3.4 帮助文档 四、版本历史4.1 日志时间格式4.2 查看版本演变历史 五、总结 一、Git仓库 Git仓库,可简单理解为项目代码存放的位置,Git将该项目目录中的内容纳入版本管…

Linux第40步_移植ST公司uboot的第1步_创建配置文件_设备树_修改电源管理和sdmmc节点

ST公司uboot移植分两步走: 第1步:完成“创建配置文件,设备树,修改电源管理和sdmmc节点,以及shell脚本和编译”。 第2步“完成”修改网络驱动、USB OTG设备树和LCD驱动,以及编译和烧写测试“。 移植太复杂…

拳打视频、脚踢图文,VR全景霸榜朋友圈广告Top榜

不知道大家有没有关注过近几年的朋友圈广告榜单,在入围的朋友圈Top10的广告中,VR全景广告的身影频繁出现,俨然有霸榜趋势。 央视新闻 早前央视新闻曾投放的360赏樱花,一经发出就瞬间刷屏全网,一举登榜季度Top10。 创…

GitHub工作流的使用笔记

文章目录 前言1. 怎么用2. 怎么写前端案例1:自动打包到新分支前端案例2:自动打包推送到gitee的build分支案例3:暂时略 前言 有些东西真的就是要不断的试错不断地试错才能摸索到一点点,就是摸索到凌晨两三点第二天要8点起床感觉要…

KAFKA节点故障的容错方案

KAFKA节点故障的容错方案 1. broker启动加载逻辑1.1 日志组成和分析1.2 snapshot文件1.3 broker启动流程1.4 LogManager的初始化和启动过程 2. controller高可用1.1 选主逻辑1.2 HA切换1.3 controller的职责 3. partition高可用3.1 ISR列表3.1 选举Leader 4. 疑问和思考4.1 如果…

Linux实验记录:使用firewalld

前言: 本文是一篇关于Linux系统初学者的实验记录。 参考书籍:《Linux就该这么学》 实验环境: VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注: RHEL8系统中集成了多款防火墙管理工具&#xf…

分布式事务的概述及其解决方案

分布式事务 本地事务 本地事务,也就是传统的单机事务。在传统数据库事务中,必须要满足四个原则: 其中,隔离性的隔离级别: 脏读: ReadUnCommited(读未提交) 并发的线程读取到其他线…

【笔记】React-Native跟Android交互--简单示例

/** * 使用命令 npx react-nativelatest init DemoRN创建项目 * * "react": "18.2.0", * "react-native": "0.73.2" * * 官网有详细教程:https://reactnative.dev/docs/native-modules-android */ 一、RN invoke androi…

Android Studio 安装配置教程 - Windows版

Android Studio下载 安装: 下载: Android Studio Hedgehog | 2023.1.1 | Android Developers (google.cn) 安装: 基本不需要思考跟着走 默认下一步 默认下一步 自定义修改路径,下一步 默认下一步,不勾选 默认下一…