pytorch(一)--张量创建汇总
一,张量(Tensor)所谓张量,其实就是一个多维数组,它是标量,向量,矩阵的高维拓展。
二,Tensor 与 Variable
Variable 是 torch.autograd 中的数据类型,主要用于封装Tensor,进行自动求导。如下图data: 被包装的Tensor
grad: data的梯度
grad_fn: 创建Tensor的Function,是自动求导的关键
requires_grad: 指示是否需要梯度
is_leaf: 指示是否为叶子结点
但是从Pytorch0.4.0开始,Variable并入Tensor里,变成下图
dtype: 张量数据类型,如torch.FloatTensor, torch.cuda.FloatTensor(这个张量指在GPU上运行)
shape: 张量的形状
deviece: 张量所在设备(CP或GPU),决定张量是否加速
三,张量的创建
1,直接创建这里举个例子,创建一个tensor
运行后结果:
2,从一个Numpy数组来创建张量举一个例子
代码运行完,你会发现由于共享内存,Nump数组的改变,会引起tensor的改变。同样,tensor改变也会引起numpy改变。
3,依据数值创建Numpy数组可能看完,感觉out有点难理解,下面举个例子
运行后:
发现两个的地址是一样的,即t被赋给了out
除此之外,依据数值创建的还有
4,依概率分布创建张量