一、数据操作
1、N维数组(机器学习和神经网络的主要数据结构)
- 0-d(标量)
- 1-d(向量)
- 2-d(矩阵)
- 3-d(RGB图片)
- 4-d(一个RGB图片批量)
- 5-d(一个视频批量)
2、创建数组要求
代码实现:
import torch
x=torch.arange(12)
x
x.shape
x.numel()
X=x.reshape(3,4)
X
torch.zeros((2,3,4))
torch.ones((2,3,4))
torch.randn(3,4)
torch.tensor([[1,2,3],[4,5,6],[7,8,9]])
x=torch.tensor([1.0,2,3,4])
y=torch.tensor([2,2,2,2])
x+y,x-y,x*y,x/y,x**y
X=torch.arange(12,dtype=torch.float32).reshape((3,4))
Y=torch.tensor([[1,2,3.0,4],[1,3,1,2],[2,4,2,1]])
torch.cat((X,Y),dim=0),torch.cat((X,Y),dim=1)
X==Y
X.sum()
a=torch.arange(3).reshape((3,1))
b=torch.arange(2).reshape((1,2))
a,b
a+b
before=id(Y)
Y=Y+X
id(Y)==before
Z=torch.zeros_like(Y)
print("id(Z):",id(Z))
Z[:]=X+Y
print("id(Z):",id(Z))
before=id(X)
X+=Y
id(X)==before
print(id(X),before)
before=id(X)
X=X+Y
id(X)==before
print(id(X),before)
A=X.numpy()
B=torch.tensor(A)
type(A),type(B)
a=torch.tensor([3.5])
a,a.item(),float(a),int(a)
|