pytorch自动微分
grad属性
第一讲学习介绍了tensor张量,它有一个属性requires_grad,这个属性默认取值为false,他的意义是追踪针对tensor的所有操作,比如进行了加减乘除等等操作。
如果要取消对这个tensor的追踪,可以使用.detach(),将与计算的历史记录分离,并防止未来的计算被追踪
为了停止追踪历史记录,还可以使用代码块with torch.no_grad():来防止。
tensor和function
tensor和function相互连接并构建一个非循环图,保存完整的计算过程的历史信息,每个张量都有一个gead_fn属性保存着建立了张量的function的引用
相关函数使用
基础tensor使用
from __future__ import print_function
import torch
x=torch.empty(5,3)
x=torch.rand(5,3)
print(x)
#构造矩阵全为0,而且指定数据类型为long
x=torch.zeros(5,3,dtype=torch.long)
print(x)
#直接构造一个张量,直接使用数据
x=torch.tensor([5.5,3])
print(x)
#基于已存在的tensor创建一个新的Tensor
x=x.new_ones(5,3,dtype=torch.double)
print(x)
x=torch.randn_like(x,dtype=torch.float)
print(x)
#获取维度信息
print(x.size(