深度之眼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

原文地址:https://www.cnblogs.com/cola-1998/p/11679380.html

时间: 2024-10-08 18:08:00

深度之眼PyTorch训练营第二期 ---2、张量操作与线性回归的相关文章

深度之眼PyTorch训练营第二期 ---基础数据结构-张量

一.Tensor概念 张量:多维数组,标量.向量.矩阵的高维拓展 Tensor与Variable torch.autograd.Variable:数据类型,主要用于封装Tensor,进行自动求导,五个属性: data:被包装的Tensor grad:data的梯度 grad_fn:创建Tensor的Function,自动求导的关键 requires_grad:指示是否需要梯度 is_leaf:指示是否是叶子结点(张量) PyTorch0.4.0之后,Variable并入Tensor dtype:

深度之眼PyTorch训练营第二期 ---3、计算图与动态图机制

一.计算图 1.计算图是用于描述运算的有向无环图. 主要有两个元素:结点(Node).边(edge) 结点表示数据,如向量.矩阵.张量 边表示运算,如加减乘除卷积等 例子:用计算图表示 y = (x + w) * (w + 1) 拆分:a = x + w  b = w + 1  --->   y = a * b 2.计算图与梯度求导 =b * 1 + a * 1 =b + a =(w+1) + (x+w) =2*w + x + 1 =2 * 1 + 2 + 1 =5 y到w所有路径 3.叶子结点

深度之眼PyTorch训练营第二期 ---5、Dataloader与Dataset

一.人民币二分类 描述:输入人民币,通过模型判定类别并输出. 数据:四个子模块 数据收集 -> img,label 原始数据和标签 数据划分 -> train训练集 valid验证集 test测试集 数据读取 -> DataLoader ->(1)Sampler(生成index) (2)Dataset(读取Img,Label) 数据预处理 -> transforms 1.DataLoader torch.utils.data.DataLoader  功能:构建可迭代的数据装载

深度之眼PyTorch训练营第二期 --- 8、权值初始化

一.梯度消失与爆炸 二.Xavier方法与Kaiming方法 1.Xavier初始化 方差一致性:保持数据尺度维持在恰当范围,通常方差为1 激活函数:饱和函数,如Sigmoid,Tanh 三.常用初始化方法 10种: Xavier均匀分布.正态分布 Kaiming均匀分布.正态分布 均匀分布.正态分布.常数分布 正交矩阵初始化 单位矩阵初始化 稀疏矩阵初始化 nn.init.Calculate_gain 主要功能:计算激活函数的方差变化尺度 主要参数 nonlinearity:激活函数名 par

[深度之眼机器学习训练营第四期]对数几率回归

基本概念 对数几率回归(Logistic Regression,又称逻辑回归)可以用来解决二分类和多分类问题.分类问题中,输出集合不再是连续值,而是离散值,即\(\mathcal{Y}\in \{0,1,2,\cdots\}\).以二分类问题为例,其输出集合一般为\(\mathcal{Y}\in \{0,1\}\). 为了解决二分类问题,对数几率回归在线性回归的基础上引入Sigmoid函数(Logistic函数),其中\(\exp(\cdot)\)是自然指数: \[ g(z) = \dfrac{

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

基本概念 机器学习模型面临的两个主要问题是欠拟合与过拟合.欠拟合,即模型具有较高的偏差,说明模型没有从数据中学到什么,如下左图所示.而过拟合,即模型具有较高的方差,意味着模型的经验误差低而泛化误差高,对新数据的泛化能力差,如下右图所示. 通常,欠拟合是由于模型过于简单或使用数据集的特征较少导致的.相反,过拟合则是模型过于复杂或特征过多引起的.欠拟合的问题比较容易解决,而过拟合的问题则有些棘手.一般而言,解决过拟合的方法包括降维和正则化. 正则化损失函数 正则化是通过向损失函数中添加惩罚项以限制参

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

损失函数 为了学习神经网络中的参数,我们要为神经网络模型定义损失函数.回想一下,逻辑回归可以将数据分成正例和负例两类,因此它的损失函数为: \[ J(\theta) = -\frac{1}{n}\sum_{i=1}^n \left[y^{(i)}\log(h_\theta(x^{(i)}) ) + (1-y^{(i)})\log(1-h_\theta(x^{(i)}))\right] + \frac{\lambda}{2n}\sum_{j=1}^n\theta^2_j \] 而对于神经网络模型,

『PyTorch』第二弹_张量

参考:http://www.jianshu.com/p/5ae644748f21# 几个数学概念: 标量(Scalar)是只有大小,没有方向的量,如1,2,3等 向量(Vector)是有大小和方向的量,其实就是一串数字,如(1,2) 矩阵(Matrix)是好几个向量拍成一排合并而成的一堆数字,如[1,2;3,4] 其实标量,向量,矩阵它们三个也是张量,标量是零维的张量,向量是一维的张量,矩阵是二维的张量,除此之外,张量不仅可以是三维的,还可以是四维的.五维的... 一点小注意: 1.由于torc

安天365第二期线上交流圆满落幕

第二期视频会议于8月6日7:30在线上开始进行.会议历时将近四个小时,4位与会成员发表了精彩纷呈的演讲. 本次会议主持由著名网络安全研究员陈小兵先生担任.主持人首先对安天365的研究近况进行了简要介绍.接着宣布了一项重要决议--安天365正式并入安全帮,这表明安天365进入了一个新的发展阶段.下一阶段组织决定采取线上线下结合的方式进行网络安全技术交流.线上主要采取QQ视频会议的方式进行交流,线下交流则由安全帮提供交流场地.在对安天365今后的发展方向进行了介绍之后,会议便进入了正式演讲的环节.此