model.parameters()的理解与使用

article/2025/9/22 2:23:16

model.parameters()保存的是Weights和Bais参数的值。
首先定义一个模型

#design Model
class NeuralNetwork(nn.Module):def __init__(self):super(NeuralNetwork,self).__init__()self.flatten = nn.Flatten()self.linear_relu_stack = nn.Sequential(nn.Linear(2*2, 5),nn.ReLU(),nn.Linear(5,3)nn.ReLU())def forward(self, x):x = self.flatten(x)logits = self.linear_relu_stack(x)return logitsmodel = NeuralNetwork().to(device)
print(model)'''
#print:
NeuralNetwork((flatten): Flatten()(linear_relu_stack): Sequential((0): Linear(in_features=4, out_features=5, bias=True)(1): ReLU()(2): Linear(in_features=5, out_features=3, bias=True)(3): ReLU())
)
'''

输入一个2 * 2的input(比如2*2的图片),构建长度为5的隐藏全连接层,输出3类(预测图片的label)。
H = W i X + b ; O = σ ( W o H + b ) H = W_iX + b ; O = \sigma(W_oH + b) H=WiX+b;O=σ(WoH+b)
感知机
查看model.parameters()的参数

print(list(model.parameters()))
'''
[Parameter containing:                        #输入层的 W,每列即为对应x乘的w(维度为5);Wi = [w1,w2,w3,w4]
tensor([[-0.2857,  0.2448,  0.1023, -0.4781],      [-0.2275,  0.3597,  0.3495,  0.0163],[-0.4321, -0.2033,  0.1903, -0.1599],[ 0.4215,  0.3982,  0.0478, -0.4342],[-0.3891,  0.2578,  0.1874, -0.1962]], device='cuda:0',requires_grad=True), Parameter containing:
tensor([-0.2413, -0.1015, -0.4152,  0.2088,  0.4680], device='cuda:0', requires_grad=True), Parameter containing:			#隐藏层的 W,每列为h对应乘的w(维度为3); Wo = [w1,w2,w3,w4,w5] 
tensor([[-3.5943e-01, -1.1033e-01,  8.3123e-02,  7.8943e-02, -3.6048e-01],[ 1.3593e-01,  4.2951e-01, -3.7831e-01,  2.6139e-01,  1.0279e-01],[ 2.5864e-01,  4.1339e-01,  2.4220e-04, -3.3391e-01,  7.3478e-02]],device='cuda:0', requires_grad=True), Parameter containing:
tensor([0.3463, 0.0749, 0.0696], device='cuda:0', requires_grad=True)]
'''

实际上parameters里存的就是weight,parameters()会返回一个生成器(迭代器)


http://chatgpt.dhexx.cn/article/ECGDSA9g.shtml

相关文章

@param详解注解

param注解的四种使用场景 第一种:方法有多个参数,需要 Param 注解 Mapper public interface UserMapper {Integer insert(Param("username") String username, Param("address") String address); }对应的 XML 文件如下&#xff1…

ios touchesBegan不触发

ios touchesBegan不触发 今天简单写了一个touchesBegan,发现无法触发,点击无效,网上找了半天没有效果。 最终发现问题是uiimageview需要开启交互:

UITableView是不会响应touchesBegan:方法的

2019独角兽企业重金招聘Python工程师标准>>> UITableView是不会响应touchesBegan:withEvent:之类的UIResponder的方法的。因此,加在其上的所有视图的响应者链就断了。如果在UITableView其上加任何的自身不具备类似UIButton一样有目标动作机制的UIView及其…

ios-tableView的touchesBegan事件和didSelectRowAtIndexPath方法

今天做了个测试&#xff0c;看看tableView如果实现了touchesBegan方法和实现了didSelectRowAtIndexPath点击的时候会去实现哪一个&#xff1f; 答案是touchesBegan。 先附上测试的函数 -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {N…

iOS事件机制,以及不同手势使用touchesBegan等表现形式

事件处理方法 UIResponder中定义了一系列对事件的处理方法&#xff0c;他们分别是&#xff1a; –(void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event–(void)touchesMoved:(NSSet )touches withEvent:(UIEvent )event–(void)touchesEnded:(NSSet )touches withEv…

touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event使用

iOSProgramming – 触摸事件处理&#xff08;2&#xff09; 在上一篇《iOS Programming – 触摸事件处理&#xff08;1&#xff09;》中了解触摸、事件和响应者之后&#xff0c;接下去学习如何处理用户的触摸事件。首先触摸的对象是视图&#xff0c;而视图的类UIView继承了UIRe…

iOS事件机制,以及不同手势使用touchesBegan等表现

2019独角兽企业重金招聘Python工程师标准>>> //事件处理方法 UIResponder中定义了一系列对事件的处理方法&#xff0c;他们分别是&#xff1a; –(void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event –(void)touchesMoved:(NSSet )touches withEvent:(U…

ios事件-触摸事件3(UIButton 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()的关系)

ios事件-触摸事件3(UIButton 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()、touchesCancelled()的关系) 先看效果图 本文中&#xff0c;凡是看到xxx(),即表示xxx是一个函数或者方法&#xff01;&#xff01;&#xff01;事件分为事件传递和事…

【application Extension 之TodayExtension】扩展与宿主App之间共享数据有两种方式

文章目录 前言I 、点击跳转到APPII、扩展与宿主App之间共享数据有两种方式:2.1.通过NSUserDefaults2.2. 通过一个扩展与App都可以访问的共享容器,来存放文件,数据(Core Data, Sqlite等都可以存放在这个共享的容器中)III、扩展Widget高度前言

PHP-递归算法

在PHP开发过程中&#xff0c;递归算法通常用于无限极分类。那么所谓递归就是一种函数调用自身的机制。简单来说就是在函数体内直接或间接自己调用自己&#xff0c;但需要设置自调用的条件&#xff0c;若满足条件&#xff0c;则调用函数本身&#xff0c;若不满足则终止本函数的自…

php 递归 递归方式与算法

先设置数据在本地数据库&#xff0c;设置前要先了解pid字段的关系。如果做成菜单还需添加一个路由字段&#xff0c;自行定义。 第一种方式 先将数据提取出转换成数组。重点是Yarray方法里的递归方式。 接下来进行解析方式。 重点&#xff1a;一定要在进行递归之前声明一个静态…

关于递归函数

递归函数概念 递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身&#xff0c;每调用一次就进入新的一层。递归函数必须有结束条件。 当函数在一直递推&#xff0c;直到遇到墙后返回&#xff0c;这个墙就是结束条件。 所以递归要有两个要素&#xff0c;…

php递归函数详解

很多同学在学习递归函数的时候会感到头晕&#xff0c;无法搞清楚递归函数的原理和运行机制&#xff0c;本文将给大家详细讲解递归函数的运行机制和运用。 那什么是递归函数呢&#xff1f; 递归函数即为自调用函数&#xff0c;在函数体内直接或间接自己调用自己&#xff0c;但需…

递归函数

一、基本的递归函数 首先先来了解下C程序在内存中的组织方式&#xff0c;基本上来说一个可执行的程序在内存中有4个区域组成&#xff1a;代码段、静态数据区、堆与栈。代码段包含程序运行时所执行的机器指令&#xff1b;静态数据区是包含在程序的生命周期内的一直持续的数据&a…

PHP 递归函数的理解

很多同学在学习递归函数的时候会感到头晕&#xff0c;无法搞清楚递归函数的原理和运行机制&#xff0c;本文将给大家详细讲解递归函数的运行机制和运用。那什么是递归函数呢&#xff1f;递归函数即为自调用函数&#xff0c;在函数体内直接或间接自己调用自己&#xff0c;但需要…

PHP中使用递归函数

下面是使用递归函数的一个小例子。 目的是根据parent_id和task_id对task进行分类。 具体实现&#xff1a; <?php //连接数据库&#xff0c;使用前几天创建的数据库连接文件进行连接&#xff0c;如果没有这个文件可以去我的博客里找一下 require_once(./db.php); $conn…

PHP递归详解

递归 递归是一种函数调用自身的机制递归必须要有边界条件&#xff0c;也就是递归出口&#xff08;退出递归&#xff09;递归前进段和递归返回段&#xff0c;也就是最后得到的值当边界条件不满足时&#xff0c;递归前进&#xff1b;当边界条件&#xff08;递归出口&#xff09;…

PHP 递归函数

递归函数即自调用函数&#xff0c;在函数体内部直接或间接的自己调用自己&#xff0c;即函数的嵌套调用就是函数本身。通常 在此类型的函数体中会附加一个条件判断&#xff0c;以判断是否需要执行递归调用&#xff0c;并且在特定的条件下终止函数的递归 调用动作&#xff0c;…