相关文章推荐
善良的牛肉面  ·  coffe1891/frontend-har ...·  2 年前    · 
善良的牛肉面  ·  标签| 前端指南·  2 年前    · 
善良的牛肉面  ·  聊聊编程范式- 知乎·  2 年前    · 
善良的牛肉面  ·  前端编程范式- 掘金·  2 年前    · 
pytorch 中,我们需要注意,对于tensor的操作时候是in-place类型。 in-place类型是指,但在一个tensor上操作了之后,是直接修改了这个tensor,还是返回一个新的tensor,而旧的tensor并不修改。 pytorch 中,一般来说,如果对tensor的一个 函数 后加上了 下划线 ,则表明这是一个in-place类型 clamp 和 clamp_ (以下为实际例子) 一般来说,在 pytorch 中如果对tensor的一个 函数 后加上了 下划线 ,则表明这是一个in-place类型,所谓in-place类型是指在一个tensor上操作了之后,是直接修改了这个tensor,还是返回一个新的tensor,而旧的tensor并不修改。 clamp和clamp_ 可以看到, 函数 名后加 下划线 会修改原始输入,即直接改了这个tensor。 (1)直接修改这个tensor; (2)返回一个新的tensor,而旧的tensor并不修改。 pytorch 中对tensor的操作的 函数 后加上了 下划线 ,则表明这是一个in-place类型,也就是(1)这种情况。 例如(2) import torch x = torch.randn([2,3]) print(x) y = x.abs() #没加 下划线 ,不会对x直接操作,而是赋予y print(y) print(x) 自定义类中,含有的方法名带有 下划线 【放在方法名前】 作用:会阻止其他python脚本通过【from module import *】语句导入该名字,即该名字不会被星号匹配;保证只在该类中进行调用。 框架中,带有 下划线 的方法【放在方法名后】