1.什么是tensor?
一个0维的数值称为scalar标量
一维数组称为vector向量
二维数组称为matrix矩阵
大于二维的多维数组称为tensor张量
2.tensor的类型
共9种:numpy.float64,numpy.float32,numpy.float16,numpy.int64,numpy.int32,numpy.int16,numpy.int8,numpy.uint8(无符号型),numpy.bool详情见pytorch中文文档
3.tensor常见方法使用
3.1检查x是否为tensor对象
torch.rand(1,2) #创建一行两列tensor
3.2统计tensor中的元素个数
3.3创建全0的tensor 和创建对角线为1的tensor
3.4将numpy转化为tensor
3.5切分 linspace
将一个范围内的数据按照步长或者要切分的个数切分
将[2,10]范围内的数切分为5个
3.6均匀分布,值在0-1之间
3.7标准正态分布,均值为0,方差为1
3.8选择随机数
顺序随机,打乱顺序
3.9生成一个区间的数
区间为[10,30),步长为5
3.10获取行或列的最小值和最大值的索引
从1-99之间选择9个数组成3*3的tensor
torch.argmin(tensor)表示求行或列的最小值,反之,torch.argmax(tensor)求最大值
dim=0表示列、竖轴,dim=1表示行 、横轴
3.11连接
torch.cat可以对两个tensor进行连接,默认为按列连接,若要按行连接只需dim=1
ps:注意连接的两个tensor要用()括起来
3.12chunk 切块
torch.chunk(tensor,chunk数,维度)
0维度相当于横着切,1维度相当于竖着切
3.13 根据索引选择 index_select
torch.index_select(tensor,维度,索引)
3.14 分割split
3.15 转置 .t和.transpose
torch.transpose(x,dim_1,dim_2)表示将x这个tensor的dim_1和dim_2进行交换(这个transpose和t的区别以及transpose的用法不太熟悉)
3.16 tensor运算