一、张量的操作
1)拼接
功能:将张量按维度dim进行拼接
tensors:张量序列
代码如下:
功能:在新创建的维度dim进行拼接
代码如下:
2)切分
功能:将张量按维度dim进行平均切分
返回值:张量列表
注意事项:若不能整除,最后一份张量小于其他张量
input:要切分的张量
chunks:要切分的份数
dim:要切分的维度
代码如下
功能:将张量按维度dim进行切分
返回值:张量列表
split_siaze_or_sections:为int时,表示每一份长度;为list时,按list元素切分
代码如下
3)索引
功能:在维度dim上,按index索引数据
返回值:依index索引数据拼接的张量
代码如下:
功能:按mask中的Ture进行索引,通常来筛选数据
返回值:一维张量
mask:与input同形状的布尔类型张量
代码如下:
4)变换
功能:变换张量形状
注意事项:当张量在内存中是连续时,新张量与input共享数据内存
shape:新张量的形状
代码如下:
功能:变换张量的两个维度
dim0、dim1:要变换的维度
代码如下:
功能:2维张量转置,对矩阵而言,等价于torch.transpose(input,0,1)
功能:压缩长度为1的维度
dim:若为None,移除所有长度为1的轴;若指定维度,当前仅当该轴长度为1时,可以被移除
代码如下:
功能:依据dim扩展维度
二、张量的数学运算
功能:逐元素计算input+alphaother
代码如下:
pythonic:在优化时经常用到
torch.addcdiv() out=input+valuetensor1/tensor2
torch.addcmul() out=input+valuetensor1tensor2
三、线性回归
线性回归是分析一个变量与另一(多)个变量之间关系的方法
y=wx+b
分析:求解w,b
步骤:1、确定模型:y=wx+b
2、选择损失函数:MSE
3、求解梯度并更新w,b
w=w-LRW.grad
b=b-LRb,grad