pytorch 参数理解

devtools/2025/2/28 8:49:27/

model.parameters()

import torch
import torch.nn as nnclass SimpleModel(nn.Module):def __init__(self):super(SimpleModel, self).__init__()self.fc1 = nn.Linear(10, 5)  # 输入维度为10,输出维度为5self.fc2 = nn.Linear(5, 2)   # 输入维度为5,输出维度为2def forward(self, x):x = torch.relu(self.fc1(x))x = self.fc2(x)return xmodel = SimpleModel()# 获取模型的参数
for param in model.parameters():print(param.shape, param.requires_grad)

假设打印结果:

torch.Size([5, 10]) True   # 第一层的权重
torch.Size([5]) True       # 第一层的偏置
torch.Size([2, 5]) True    # 第二层的权重
torch.Size([2]) True       # 第二层的偏置

线性层Linear WX+b

model.parameters() 返回一个生成器(generator),它会逐个生成模型中所有可训练的参数(Parameter 对象)。这些参数通常是张量(torch.Tensor),并且默认情况下它们的 requires_grad=True,这意味着它们会在反向传播中自动计算梯度

model.named_parameters()

for name, param in linearModel.named_parameters():print(name, param.grad)
# linear.weight tensor([[...]])
# linear.bias   tensor([[...]])

http://www.ppmy.cn/devtools/163311.html

相关文章

bean的管理-01.bean的获取

一.获取bean 在默认情况下,Spring项目启动时,会将bean都创建好放在IOC容器中,我们可以通过Autowired注解将所需要的bean对象注入进来,其实也可以通过Spring给我们提供的这些方法主动从IOC容器中获取bean对象。那么如何从IOC容器中…

linux里面的过滤符号 | 是如何实现的

ls -l | grep ".txt" 的实现过程涉及无名管道的创建、进程的创建(fork())以及输入输出的重定向(dup2())。以下是详细的实现步骤和代码示例: 实现步骤 创建无名管道: 使用pipe()系统调用创建一个无…

说说 Spring MVC 的执行流程

Spring MVC 是一个基于 Java 的轻量级、开源的 Web 框架,用于构建 Web 应用程序。它通过将请求处理的各个阶段解耦,使得开发更加灵活和模块化。以下是 Spring MVC 的执行流程,从用户发起请求到返回响应的整个过程: --- ### 1. 用…

图片爬取案例

修改前的代码 但是总显示“失败” 原因是 修改之后的代码 import requests import os from urllib.parse import unquote# 原始URL url https://cn.bing.com/images/search?viewdetailV2&ccidTnImuvQ0&id5AE65CE4BE05EE7A79A73EEFA37578E87AE19421&thidOIP.TnI…

毛泽东思想“活的灵魂”

关于毛泽东思想“活的灵魂”的构成及其内涵,综合历史文献与权威表述,核心内容整理如下: 一、毛泽东思想活的灵魂的权威定义 根据十一届六中全会《关于建国以来党的若干历史问题的决议》(1981年),毛泽东思想…

机器学习数学基础:33.肯德尔和谐系数教程

肯德尔和谐系数教程 一、定义与用途 肯德尔和谐系数(Kendall’s W)是一种用于衡量多个评价者对一组对象进行评价时,评价结果一致性程度的统计量。它的取值范围在0到1之间。当W \ 0时,表示评价者之间的评价完全不一致&#xff1…

Spring Boot启动过程?

目录 1. 启动入口 2. SpringApplication 初始化 3. 准备环境 4. 创建应用上下文(ApplicationContext) 5. 准备应用上下文 6. 刷新应用上下文 7. 启动 Web 服务器(若为 Web 应用) 8. 发布 ApplicationStartedEvent 事件 9. 执行 Runner 10. 发布 ApplicationReady…

macos下cocoapods的学习

step1:升级ruby $ /bin/bash -c " $ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" $ brew update $ brew install ruby $ echo export PATH"/usr/local/opt/ruby/bin:$PATH" >> ~/.bash_profile …