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

一、Tensor概念

  张量:多维数组,标量、向量、矩阵的高维拓展

  • Tensor与Variable
  1. torch.autograd.Variable:数据类型,主要用于封装Tensor,进行自动求导,五个属性:

    •   data:被包装的Tensor
    •   grad:data的梯度
    •   grad_fn:创建Tensor的Function,自动求导的关键
    •   requires_grad:指示是否需要梯度
    •   is_leaf:指示是否是叶子结点(张量)
  2. PyTorch0.4.0之后,Variable并入Tensor
    • dtype:张量的数据类型,如torch.FloatTensor,torch.cuda.FloatTensor
    • shape:张量的形状,如(64, 3, 224, 224)
    • device:张量所在的设备,GPU/CPU,加速的关键

3.  常见数据类型

  torch.float or torch.float32

torch.int8

torch.uint8

     torch.int16  or torch.short

       torch.int32 or torch.int

torch.int64 or torch.long

二、Tensor创建方式一:直接创建

    

torch.tensor(
                  data,
                  dtype = None,
                  device = None,
                  requires_grad = False,
                  pin_memory = False)
/*
功能:从data创建tensor
data:数据,list or numpy
dtype:数据类型,默认与data一致
device:所在设备,cuda/cpu
requires_grad:是否需要梯度
pin_memory:是否存于锁页内存
*/

三、Tensor创建方式二:依据数值创建

四、Tensor创建方式三:依据概率创建

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

时间: 2024-10-31 07:32:28

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

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

一.张量的操作:拼接.切分.索引和变换 1.拼接 (1)torch.cat()  功能:将张量按照维度dim进行拼接(不会扩张) tensors:张量序列 dim:要拼接的维度 (2)torch.stack()  功能:在新创建的维度dim上进行拼接(会扩张张量的维度) tensors:张量序列 dim:要拼接的维度 (3)torch.chunk()  功能:将张量按维度dim进行平均切分     返回值:张量列表 注意:若不能整除,最后一份张量小于其他张量 input:要切分的张量 chunk

深度之眼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 \] 而对于神经网络模型,

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

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

微信公众平台深度开发JAVA版第二季视频教程

微信公众平台深度开发JAVA版第二季(九宝饭店微信点餐系统)视频教程下载密码:qa4a     联系QQ:1026270010 微信作为当前流行的通信社交软件有了上亿的用户量,几乎每一个只能手机都要安装微信.但是,市场上对于JAVA开发微信公众平台的资料却少之又少,多数的资料一般是其他语言的.因此,主讲老师经过潜心研究.认真准备,录制了这套针对JAVA开发语言的微信公众平台开发教程. 1.课程研发环境 开发语言:JAVA WEBServer:TOMAT DATABASE:MySQL 开发工具:m

米斯特培训基础38课+第二期视频教程+其他渗透教程

这视频我也没看过,最近也是在学渗透(虽然我是个菜鸟),今天给大家分享几套视频. 米斯特基础入门38课+第二期培训:链接:http://pan.baidu.com/s/1qYFgvWo 密码:xl79(这个是两套视频) 小迪13期:链接:http://pan.baidu.com/s/1o8boPZk 密码:j93q(这4个压缩包下载来放在一起解压其中一个就可以了) 小迪14期:链接:http://pan.baidu.com/s/1pKOvE8F 密码:xpcv 还有个15期的,但是我这里的不完整,