深度之眼PyTorch训练营第二期 ---2张量操作与线性回归

Posted cola-1998

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度之眼PyTorch训练营第二期 ---2张量操作与线性回归相关的知识,希望对你有一定的参考价值。

一、张量的操作:拼接、切分、索引和变换

1、拼接

(1)torch.cat()  功能:将张量按照维度dim进行拼接(不会扩张)

    •   tensors:张量序列
    •       dim:要拼接的维度

(2)torch.stack()  功能:在新创建的维度dim上进行拼接(会扩张张量的维度)

    •   tensors:张量序列
    •        dim:要拼接的维度

(3)torch.chunk()  功能:将张量按维度dim进行平均切分     返回值:张量列表

  注意:若不能整除,最后一份张量小于其他张量

    •   input:要切分的张量
    •        chunks:要切分的份数
    •        dim:要切分的维度

(4)torch.split()  功能:切分  

    •   tensor:要切分的张量
    •        split_size_or_sections:为int时,表示每一份的长度;为list时,按list元素切分
    •        dim:要切分的维度

2、索引

(1)torch.index_select()  功能:在维度dim上,按index索引数据   返回值:依index索引数据拼接的张量

    •   index:要索引的张量
    •        dim:要索引的维度
    •        index:要索引数据序号

(2)torch.masked_select()  功能:按mask中的True进行索引     返回值:一维张量   通常用于筛选数据

    •   input:要索引的张量
    •        mask:与input同形状的布尔类型张量

3、张量变换

(1)torch.reshape()   功能:变换张量形状  注意事项:当张量在内存中是连续时,新张量与input共享数据内存

    •   input:要变换的张量
    •        shape:新张量的形状

(2)torch.transpose() 功能:交换张量的两个维度

    •   input:要交换的张量
    •        dim0:要交换的维度
    •        dim1:要交换的维度

(3)torch.t()   功能:2维张量转置,对矩阵而言,等价于torch.transpose(input, 0 , 1)

(4)torch.squeeze()  功能:压缩长度为1的维度(轴)

    •   dim:若为None,移除所有长度为1的轴;若指定维度,当且仅当该轴长度为1时,可以被移除;

(5)torch.unsqueeze()   功能:依据dim扩展维度

    •   dim:扩展的维度

二、张量的数学运算

1、加减乘除

2、对数、指数、幂函数

3、三角函数

技术图片

 

 (1)torch.add() 功能:逐元素计算 input + alpha * other

    •   input:第一个张量
    •        alpha:乘项因子
    •        other:第二个张量

pythonic:

(2)torch.addcdiv()

                       技术图片

 

 

(3)torch.addcmul()

                      技术图片

三、线性回归

线性回归是分析一个变量与另一个变量之间关系的方法

                   因变量:自变量:关系:线性

                    y = wx + b

                    分析:求解w,b

求解步骤:

1、确定模型

Model: y = wx + b

2、选择损失函数

MSE:1/mΣ(yi - yiˆ)2

3、求解梯度并更新w,b

w = w - LR * w.grad

b = b - LR * w.grad

以上是关于深度之眼PyTorch训练营第二期 ---2张量操作与线性回归的主要内容,如果未能解决你的问题,请参考以下文章

[深度之眼机器学习训练营第四期]神经网络之参数学习

[深度之眼机器学习训练营第四期]过拟合与正则化

[深度之眼机器学习训练营第四期]神经网络之模型表示

3. 使用PyTorch深度学习库训练第一个卷积神经网络CNN

Pytorch实战 | 第P3周:天气识别

Pytorch实战 | 第P3周:天气识别