Python中的句点表示法

文章详细解释了Python中句点的两种主要用途:访问对象属性和方法,以编程术语为例,如loss.backward()用于反向传播计算梯度,而optimizer.step()则用于更新网络参数。句点体现了对象间的从属关系,是Python中一切皆对象概念的关键体现。
摘要由CSDN通过智能技术生成

在看代码的过程中发现大部分代码里都有很多的英文句点,包括最简单的手写数字识别例子LeNet,可以看到有很多句点。因为Python这块基础不牢,就搜索学习了一下句点的几种表示方法,整理在了下面。

 1.句点用来访问对象的属性或者方法。

比如上图中的反向传播中的loss.backward()和optimizer.step()。

(1)loss.backward()

loss.backward()函数的作用是根据loss来计算网络参数的梯度,在PyTorch中,反向传播(即x.backward()),backward()函数中的官方定义是:

如果需要计算导数,可以在Tensor上调用.backward()。

 a. 如果Tensor是一个标量(即它包含一个元素的数据),则不需要为backward()指定任何参数

 b. 但是如果它有更多的元素,则需要指定一个gradient参数,它是形状匹配的张量。

所以loss.backward()函数也就是说在loss上调用了backward()函数。

(2)optimizer.step()

optimizer.step()是优化器对x的值进行更新,和前面的loss.backward()的意义是一样的。step()函数是利用了计算得到的梯度信息,且该信息是与网络的参数绑定在一起的,所以optimizer函数在读入是先导入了网络参数模型‘params’,然后通过一个.grad()函数就可以轻松的获取他的梯度信息。

2.句点就是语法中的“的”字,我觉得这个形容非常合适。

在Python中一切皆对象,句点表示出了对象之间的从属关系。表示访问对象“的”属性,调用对象“的”方法,导入模块“的”函数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值