pytorch(2)——张量操作与线性回归

一、张量的操作
1)拼接
pytorch(2)——张量操作与线性回归_第1张图片
功能:将张量按维度dim进行拼接
tensors:张量序列
代码如下:
pytorch(2)——张量操作与线性回归_第2张图片

pytorch(2)——张量操作与线性回归_第3张图片
功能:在新创建的维度dim进行拼接
代码如下:
pytorch(2)——张量操作与线性回归_第4张图片

2)切分
pytorch(2)——张量操作与线性回归_第5张图片
功能:将张量按维度dim进行平均切分
返回值:张量列表
注意事项:若不能整除,最后一份张量小于其他张量
input:要切分的张量
chunks:要切分的份数
dim:要切分的维度
代码如下
pytorch(2)——张量操作与线性回归_第6张图片
pytorch(2)——张量操作与线性回归_第7张图片
功能:将张量按维度dim进行切分
返回值:张量列表
split_siaze_or_sections:为int时,表示每一份长度;为list时,按list元素切分
代码如下
pytorch(2)——张量操作与线性回归_第8张图片

3)索引
pytorch(2)——张量操作与线性回归_第9张图片
功能:在维度dim上,按index索引数据
返回值:依index索引数据拼接的张量
代码如下:
pytorch(2)——张量操作与线性回归_第10张图片
pytorch(2)——张量操作与线性回归_第11张图片
功能:按mask中的Ture进行索引,通常来筛选数据
返回值:一维张量
mask:与input同形状的布尔类型张量
代码如下:
pytorch(2)——张量操作与线性回归_第12张图片
4)变换
在这里插入图片描述
功能:变换张量形状
注意事项:当张量在内存中是连续时,新张量与input共享数据内存
shape:新张量的形状
代码如下:
pytorch(2)——张量操作与线性回归_第13张图片
pytorch(2)——张量操作与线性回归_第14张图片
功能:变换张量的两个维度
dim0、dim1:要变换的维度
代码如下:
pytorch(2)——张量操作与线性回归_第15张图片

在这里插入图片描述
功能:2维张量转置,对矩阵而言,等价于torch.transpose(input,0,1)
pytorch(2)——张量操作与线性回归_第16张图片
功能:压缩长度为1的维度
dim:若为None,移除所有长度为1的轴;若指定维度,当前仅当该轴长度为1时,可以被移除
代码如下:
pytorch(2)——张量操作与线性回归_第17张图片

pytorch(2)——张量操作与线性回归_第18张图片
功能:依据dim扩展维度
二、张量的数学运算
pytorch(2)——张量操作与线性回归_第19张图片

pytorch(2)——张量操作与线性回归_第20张图片
功能:逐元素计算input+alphaother
代码如下:
pytorch(2)——张量操作与线性回归_第21张图片
pythonic:在优化时经常用到
torch.addcdiv() out=input+value
tensor1/tensor2
torch.addcmul() out=input+valuetensor1tensor2
三、线性回归
线性回归是分析一个变量与另一(多)个变量之间关系的方法
y=wx+b
分析:求解w,b
步骤:1、确定模型:y=wx+b
2、选择损失函数:MSE
pytorch(2)——张量操作与线性回归_第22张图片
3、求解梯度并更新w,b
w=w-LRW.grad
b=b-LR
b,grad

你可能感兴趣的:(pytorch(2)——张量操作与线性回归)