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

如何制作一个公司网站星空无限传媒在线观看电视剧赘婿

如何制作一个公司网站,星空无限传媒在线观看电视剧赘婿,微信头像做国旗网站,饮食网站模板🔍 PyTorch 中 nn.Linear() 参数详解与实战解析 在使用 PyTorch 构建神经网络时,nn.Linear() 是最常用也最基础的模块之一。它用于实现一个全连接层(Fully Connected Layer),本质上就是对输入进行一次线性变换&#x…

🔍 PyTorch 中 nn.Linear() 参数详解与实战解析

在使用 PyTorch 构建神经网络时,nn.Linear() 是最常用也最基础的模块之一。它用于实现一个全连接层(Fully Connected Layer),本质上就是对输入进行一次线性变换

y = x A T + b y = xA^T + b y=xAT+b

本文将详细介绍 nn.Linear() 的参数含义、属性说明、初始化机制,并结合实际代码案例帮助你真正理解它的工作原理。


📌 一、基本用法:线性层的定义

PyTorch 中创建一个线性层的语法如下:

nn.Linear(in_features, out_features, bias=True)
  • in_features: 输入特征的维度
  • out_features: 输出特征的维度
  • bias: 是否包含偏置项 b,默认 True

这个线性层的作用是:将输入 x ∈ ℝ^{in_features} 映射为输出 y ∈ ℝ^{out_features},形如:

y = W x T + b y = Wx^T + b y=WxT+b

其中:

  • 权重矩阵 W 形状为 (out_features, in_features)
  • 偏置向量 b 形状为 (out_features,)

🧪 二、代码案例解析

import torch
import torch.nn as nna_data = nn.Sequential()
a_data.fc1 = nn.Linear(28 * 28, 500)  # 输入 784 维,输出 500 维
print(a_data.fc1)
print(a_data.fc1.weight.shape)

输出结果:

Linear(in_features=784, out_features=500, bias=True)
torch.Size([500, 784])

解释:

  • 输入是一张 28x28 的图像,展平成 784 维向量
  • 线性层输出 500 维特征,因此 weight 的形状为 [500, 784]
  • 每一行表示将输入 784 维投影到某个输出维度的权重组合

⚙️ 三、权重与偏置的初始化机制

nn.Linear 中,PyTorch 默认使用如下规则初始化参数:

✅ 权重 weight

  • 形状:(out_features, in_features)
  • 初始化:均匀分布 U ( − k , k ) \mathcal{U}(-\sqrt{k}, \sqrt{k}) U(k ,k ),其中 k = 1 in_features k = \frac{1}{\text{in\_features}} k=in_features1

✅ 偏置 bias

  • 形状:(out_features,)
  • 初始化:同样是 U ( − k , k ) \mathcal{U}(-\sqrt{k}, \sqrt{k}) U(k ,k )

这种初始化策略可以有效防止神经网络训练初期出现梯度爆炸或消失问题。


💡 四、实战示例:批量输入与输出

m = nn.Linear(20, 30)
input = torch.randn(128, 20)   # 批量输入 128 个样本,每个 20 维
output = m(input)
print(output.shape)            # 输出为 [128, 30]

解释:

  • 输入张量 shape 是 [128, 20]
  • 经过线性层后,输出变成 [128, 30],即每个样本都被线性映射为 30 维向量

📘 五、总结

项目含义
输入 shape[batch_size, in_features]
输出 shape[batch_size, out_features]
权重 shape[out_features, in_features]
偏置 shape[out_features]
初始化方式 U ( − k , k ) \mathcal{U}(-\sqrt{k}, \sqrt{k}) U(k ,k ) k = 1 in_features k = \frac{1}{\text{in\_features}} k=in_features1

🎯 写在最后

nn.Linear() 是深度学习网络中非常核心的组成部分。搞懂它,不仅能帮你设计自己的神经网络架构,还能更深入理解神经网络中的矩阵运算和参数更新机制。


http://www.dtcms.com/wzjs/617507.html

相关文章:

  • 网站怎么防k安卓门户网站开发
  • 免费的x网站域名做的精美的门户网站推荐
  • ps如何做网站超级链接博客用来做微网站
  • 塘厦东莞网站建设hexo文章转WordPress
  • 山西建设局网站首页深圳在建工程查询
  • 彩票网站的表格是如何做的建设静态网站工具
  • 建设一个网站大概多少钱企业管理软件免费版
  • 合肥市网站制作网站建设培训学院
  • 建设公司网站的可行性研究徐州网站开发公司
  • php网站怎么做post订单wordpress nginx安装
  • 我想做个百度网站怎么做深圳搜索引擎优化收费
  • 做营销网站泉州刺桐古建筑公司网站
  • 游戏网站建设成功案例专业企业网站建设哪家服务好
  • 蓝色大气企业网站源码wordpress需要升级吗
  • 公司和网站备案查询密码国外做的好点电商网站
  • 建筑专业名词网站做网站服务器还是虚拟空间好
  • 品牌网站定制网站开发与维护难学吗
  • 东莞优秀网站建设如何通过做网站挣钱
  • 运城做网站费用高吗微信浏览为网站的缓存怎么清理
  • 公司做网站怎么做账福州网络科技有限公司
  • 购物网站制作怎么做河北省网站备案
  • 大气自适应网站源码2个小时学会网站建设
  • 公司怎么找做网站高端人士
  • 广州个人网站建设公司网站开发 周期
  • 深圳市电商网站建设企业电子商务网站调研报告
  • 如何用工控做网站网站建设丿金手指15
  • 建设优化一个网站步骤网站域名怎么做变更
  • 南京网站建设q润洽网络广州工程建设信息网站
  • 有什么网站是python做的vs2017网站开发选择调试服务
  • 建网站一般多少钱ui设计师创意平台