![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动手学深度学习
weixin_44132485
这个作者很懒,什么都没留下…
展开
-
PyTorch手动梯度清零
Pytorch中,每个batch训练完后需要使用Variable.grad.zero_()进行梯度清零(其中Variable为变量名,性质为torch.tensor).在Pytorch中,之所以需要手动进行梯度清零,而不是选择自动清零,是因为这种方式可以让使用者自由选择梯度清零的时机,具有更高的灵活性.例如选择训练每N个batch后再进行梯度更新和清零,这相当于将原来的batch_size扩大为N...原创 2019-11-02 11:11:33 · 13220 阅读 · 1 评论 -
Pytorch.squeeze和unsqueeze
简介和用法squeeze和unsqueeze的作用与其翻译基本一致,被作用维度压缩和解压缩.用法相对简单,具体如下:tensor_unsqueeze = tensor.unsqueeze(dim)若tensor存在n个维度,则dim的取值为[-n+1,n]区间的整数,且dim的取值不能为空.tensor_squeeze = tensor.squeeze(dim)若tensor存在n个维度...原创 2019-11-13 09:35:41 · 323 阅读 · 0 评论 -
lambda用法
lambda使用方式lambda的定义格式如下:lambda variable: expressionvariable表示变量,可以没有或者有多个;expression表示包含variable的计算表达式.lambda具体用法无参数有参数嵌套使用与filter连用上图中,filter的第一个参数为函数,第二个参数为列表,需要注意的是,第一个参数应返回bool值.filter...原创 2019-11-05 18:32:23 · 96 阅读 · 0 评论 -
PyTorch.gather()理解
函数调用使用torch.gather()的方式有两种,第一种为直接使用torch.gather().第二种为SourceTensor.gather().容易出现疑惑的地方为dim的取值.dim的取值范围为{-2,0,1}.下面分情况进行讨论(在二维平面上讨论).dim=0通过上图中的代码执行结果可以看出,当dim为0时,y中的数据值表示行索引,而y中的数据索引表示列索引.具体到上图中的情况即...原创 2019-11-02 17:46:23 · 499 阅读 · 0 评论