PyTorch - 几种形状的Tensor
Tensor常见的形式有哪些
- 0: scalar 数值
- 1: vector 向量
- 2: matrix 矩阵
- 3: n-dimensional tensor 高维张量
import torch
from torch import tensor
Scalar
通常就是一个数值
x = tensor(42.) # tensor(42.)
x.dim() # 0
2 * x # tensor(84.)
x.item() # 42.0
Vector
在深度学习中通常指特征。
例如词向量特征,某一维度特征等;例如: [-5., 2., 0.]
。
\[\vec{v} = \left[ v_1, v_2, \ldots, v_n \right]
\]
v = tensor([1.5, -0.5, 3.0]) # tensor([ 1.5000, -0.5000, 3.0000])
v.dim() # 1
v.size() # torch.Size([3])
Matrix
- 多个特征组合成矩阵(行和列)
- 一般计算的都是矩阵,通常都是多维的
M = tensor([[1., 2.], [3., 4.]]) # tensor([[1., 2.], [3., 4.]])
M.matmul(M) # tensor([[ 7., 10.], [15., 22.]])
tensor([1., 0.]).matmul(M) # tensor([1., 2.])
M * M
'''
tensor([[ 1., 4.],
[ 9., 16.]])
'''
tensor([1., 2.]).matmul(M) # tensor([ 7., 10.])