提示:以下是本篇文章正文内容,下面案例可供参考
一、入门
#这些虽然十分简单,但我还是写一遍吧
#引入库
import torch
#创建行向量
x=torch.arange(12)
#获取张量形状
x.shape()
#获取张量元素总数
x.numel()
#改变形状,例如改为三行四列
X=x.reshape(3,4)
#可以将行或者列设为-1,让计算机自动计算
X=x.reshape(-1,4)
#全0张量
torch.zeros((2,3,4))
#全1张量
torch.ones((2,3,4))
#随机数张量
torch.randn(3,4)
#列表创建张量
torch.tensor[[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
#运算符
x = torch.tensor([1.0, 2, 4, 8])
y = torch.tensor([2, 2, 2, 2])
x + y, x - y, x * y, x / y, x ** y # **运算符是求幂运算符
#将两个张量拼接,dim=0是按行拼,dim=1是按列拼
X = torch.arange(12, dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
torch.cat((X, Y), dim=0), torch.cat((X, Y), dim=1)
#判断两个张量的元素是否相等
X == Y
#对张量所有元素求和
X.sum()
二、进阶
#a,b形状不同
a = torch.arange(3).reshape((3, 1))
b = torch.arange(2).reshape((1, 2))
a+b #广播机制,两者变换为相同形状
#索引和切片
#-1选最后一个
X[-1], X[1:3]
#更改指定元素
X[1, 2] = 9
#第一行和第二行都为12
X[0:2, :] = 12
总结
就是一些数据的基本表示