本文主要是介绍Python中的句点表示法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在看代码的过程中发现大部分代码里都有很多的英文句点,包括最简单的手写数字识别例子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中一切皆对象,句点表示出了对象之间的从属关系。表示访问对象“的”属性,调用对象“的”方法,导入模块“的”函数。
这篇关于Python中的句点表示法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!