淘先锋技术网

首页 1 2 3 4 5 6 7

1 autograd

1.1 requires_grad

tensor中会有一个属性requires_grad 来记录之前的操作(为之后计算梯度用)。

1.2 调整tensor的requires_grad

1.3 with torch.no_grad

 在这个环境里面里面生成的式子将无requires_grad

1.4 detach

 内容不变,但是requires_grad将变为False

2 Variable

一般pytorch里面的运算,都是Variable级别的运算

Variable 计算时, 它一步步默默地搭建着一个庞大的系统, 叫做计算图(computational graph)。

这个图是将所有的计算步骤 (节点) 都连接起来。最后进行误差反向传递的时候, 一次性将所有 variable 里面的修改幅度 (梯度) 都计算出来, 而 普通的tensor 就没有这个能力。

2.1 获取variable里面的数据

直接print(variable)只会输出 Variable 形式的数据, 在很多时候是用不了的(比如想要用 plt 画图), 所以我们要转换一下, 将它变成 tensor 形式,或者ndarray形式等。