自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 PackagesNotFoundError: The following packages are not available from current channels

conda config --add channels conda-forge

2022-01-17 15:33:27 182

转载 git 仓库ssh配置

git 仓库ssh配置SSH key 配置

2022-01-13 16:50:23 207

转载 【无标题】

Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution Group Convolution分组卷积

2022-01-13 11:57:46 115

原创 残差网络(ResNet)

残差网络(ResNet)对于残差网络的一点个人理解:残差网络就是通过嵌套函数不断在原函数的基础上增加残差快来扩大函数所能表示的范围以此来更能接近真正的表示函数复杂的函数类包含较小的函数类残差块 ResNet模型为什么深层的网络,底层比较难训练?可以这样想:越靠近损失函数误差越小因为我们经过训练预测值和真实值之间的差距已经越来越小了所以梯度会越来越小当做反向传播的时候越往回传梯度就越小训练就越困难。import torchfrom torch import nnfrom torch

2021-09-24 15:21:59 368

原创 batch normalization(批量归一化)

批量归一化训练深层神经网络是十分困难的,特别是在较短的时间内使他们收敛更加棘手。 批量归一化(batch normalization)这是一种流行且有效的技术,可持续加速深层网络的收敛速度。 批量归一化使得我们能够训练 100 层以上的网络。1 训练深层网络首先,数据预处理的方式通常会对最终结果产生巨大影响。使用真实数据时,我们的第一步是标准化输入特征,使其平均值为0,方差为1。这种标准化可以很好地与我们的优化器配合使用,因为它可以将参数的量级进行统一。第二,对于典型的多层感知机或卷积神经网络.

2021-09-23 11:28:54 747

原创 1 * 1卷积层

对于1 * 1卷积层自己的一点理解1 *1 卷积层最早是2014年ICLR的一篇名为《Network In Network》的论文提出的从下面图片可以看成 1 * 1卷积层其实就相当于全连接层也就是相当于输入乘以权重。它为改变输入的大小,1*1 卷积的作用一、 实现特征通道的升维和降维  通过控制卷积核的数量达到通道数大小的放缩。而池化层只能改变高度和宽度,无法改变通道数。二、 增加非线性  1×1卷积核的卷积过程相当于全连接层的计算过程,并且还加入了非线性激活函数,从而可以增加网络的非线性,使

2021-09-18 10:11:34 1420

转载 图像卷积操作

图像卷积 1 互相关运算严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是 互相关运算 (cross-correlation),而不是卷积运算。 在卷积层中,输入张量和核张量通过互相关运算产生输出张量。首先,我们暂时忽略通道(第三维)这一情况,看看如何处理二维图像数据和隐藏表示。在下图中,输入是高度为 3 、宽度为 3 的二维张量(即形状为 3×3 )。卷积核的高度和宽度都是 2 ,而卷积核窗口(或卷积窗口)的形状由内核的高度和宽度决定(即 2×2 )。import to.

2021-09-17 20:48:47 1318

转载 GPU计算

1 计算设备在PyTorch中,CPU和GPU可以用torch.device(‘cpu’)和torch.cuda.device(‘cuda’)表示。应该注意的是,cpu设备意味着所有物理CPU和内存。这意味着PyTorch的计算将尝试使用所有CPU核心。然而,gpu设备只代表一个卡和相应的显存。如果有多个GPU,我们使用torch.cuda.device(f’cuda:{i}’)来表示第(i)块GPU((i)从0开始)。另外,cuda:0和cuda是等价的。import torchfrom torch

2021-09-17 09:53:45 712

转载 参数管理与共享

参数管理一旦选择了架构并设置了超参数,就进入了训练阶段。此时,目标是找到使损失函数最小化的参数值。经过训练后需要使用这些参数来做出未来的预测。此外,有时我们希望提取参数,以便在其他环境中复用它们,将模型保存到磁盘,以便它可以在其他软件中执行,或者为了获得科学的理解而进行检查。大多数情况下,可以忽略声明和操作参数的具体细节,而只依靠深度学习框架来完成繁重的工作。然而,当我们离开具有标准层的层叠架构时,我们有时会陷入声明和操作参数的麻烦中。在本节中,我们将介绍以下内容:   

2021-09-16 20:57:56 632

转载 模型构造(层和块)

层和块块可以描述单个层、由多个层组成的组件或整个模型本身。使用块进行抽象的一个好处是可以将一些块组合成更大的组件,这一过程通常是递归的。这一点在 图5.1.1 中进行了说明。通过定义代码来按需生成任意复杂度的块,我们可以通过简洁的代码实现复杂的神经网络。从编程的角度来看,块由类(class)表示。它的任何子类都必须定义一个将其输入转换为输出的正向传播函数,并且必须存储任何必需的参数。注意,有些块不需要任何参数。最后,为了计算梯度,块必须具有反向传播函数。幸运的是,在定义我们自己的块时,由于自动微分提.

2021-09-16 12:31:40 340

转载 反向传播、数值稳定性、模型初始化、激活函数

1 反向传播在训练神经网络时,正向传播和后向传播相互依赖。对于正向传播,我们沿着依赖的方向遍历计算图并计算其路径上的所有变量。然后将这些用于反向传播,其中计算顺序与计算图的相反。以上述简单网络为例进行说明。一方面,在正向传播期间计算正则项取决于模型参数 W(1) 和 W(2) 的当前值。它们是由优化算法根据最近迭代的反向传播给出的。另一方面,反向传播期间参数 的梯度计算取决于由正向传播给出的隐藏变量 h 的当前值。因此,在训练神经网络时,在初始化模型参数后,我们交替使用正向传播和反向传播,利用反向传播给.

2021-09-15 10:56:58 194

原创 丢弃法(dropout)

1 对于丢弃法的一点小思考(1) 对于模型设计我们可以把隐藏层设计的稍微大一点然后用drop out控制隐藏层大小这样的设计可能比隐藏层设计的小一点的效果更好,防止过拟合,drop out 其实就是一个正则项。(2) drop out 就是随机丢弃隐藏层神经元的个数从而防止参数过分依赖训练数据,增加参数对数据集的泛化能力(3) Drop out可以减少神经元之间复杂的共适应关系,因为Dropout使得某两个神经元不一定每次都在一个子网络结构中出现。基于此权值的更新不在依赖于固定关系的隐含节点的共同作

2021-09-14 11:32:58 1534

转载 权重衰减( L2 正则化)

对于权重衰减自己的一点理解加入L2正则化后损失函数变得平滑了很多如图所示,蓝色的曲线为未加入L2正则项的曲线,绿色为加入L2正则项的曲线这样对于数据的拟合变得不这么剧烈从而缓解了过拟合。如图所示,绿色为损失项,橙色为正则项W权重越大惩罚项也就是橙色曲线的作用就越明显整个图就越靠近原点从而使曲线变平滑不再那么的剧烈从而减小过拟合较小的 λ 值对应较少约束的 w ,而较大的 λ 值对 w 的约束更大import torchfrom torch import nnfrom d2l import to

2021-09-13 21:23:21 1006

转载 多层感知机从零开始实现

## 多层感知机的从零开始实现import torchfrom torch import nnfrom d2l import torch as d2lbatch_size = 256train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size) #生成两个数据迭代器初始化模型参数num_inputs, num_outputs, num_hiddens = 784, 10, 256W1 = nn.Parameter(torc

2021-09-13 14:51:43 186

转载 pandas.get_dummies 的用法

https://blog.csdn.net/maymay_/article/details/80198468

2021-07-06 10:43:47 64

转载 super(LinearNet,self).__init__()是什么意思

https://blog.csdn.net/zyh19980527/article/details/107206483/

2021-03-19 21:40:19 1607

原创 pytorch-Dataloader多进程使用出错

使用Dataloader进行多进程数据导入训练时,会因为多进程的问题而出错其中参数num_works=表示载入数据时使用的进程数,此时如果参数的值不为0而使用多进程时会出现报错此时在数据的调用之前加上if name == ‘main’:即可解决问题...

2021-03-16 18:18:49 1048

原创 2 PyTorch基础

2 PyTorch基础2.1Numpy与Tensor第1章已经介绍了Numpy,了解到其存取数据非常方便,而且还拥有大量的函数,所以深得数据处理、机器学习者喜爱。这节我们将介绍PyTorch的Tensor,它可以是零维(又称为标量或一个数)、一维、二维及多维的数组。Tensor自称为神经网络界的Numpy,它与Numpy相似,二者可以共享内存,且之间的转换非常方便和高效。不过它们也有不同之处,最大的区别就是Numpy会把ndarray放在CPU中进行加速运算,而由Torch产生的Tensor

2021-02-23 23:42:50 371

原创 1 Numpy基础

1.1 生成Numpy数组Numpy封装了一个新的数据类型ndarray(N-dimensional Array),它是一个多维数组对象。该对象封装了许多常用的数学运算函数,方便我们做数据处理、数据分析等。那么如何生成ndarray呢?这里介绍生成ndarray的几种方式,如从已有数据中创建,利用random创建,创建特定形状的多维数组,利用arange、linspace函数生成等1.1.1 从已有数据中创建数组直接对Python的基础数据类型(如列表、元组等)进行转换来生成ndarray:

2021-02-09 01:29:34 583

转载 ML/DL学习笔记5——分类:概率生成模型

课程地址Classification 概念描述分类问题是找一个函数,它的输入是一个实体,它的输出是这个实体属于哪一个类还是以宝可梦为例,已知宝可梦有18种属性,现在要解决的分类问题就是做一个宝可梦种类的分类器,我们要找一个function,这个function的input是某一只宝可梦,它的output就是这只宝可梦属于这18类别中的哪一个type输入数值化对于宝可梦的分类问题来说,我们需要解决的第一个问题就是,怎么把某一只宝可梦当做function的input?要想把一个东西当做functio

2021-01-11 21:32:16 248

原创 ML/DL学习笔记3——梯度下降Gradient Descent

课程链接什么是梯度?    梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。    通俗的来说梯度是要解决这么一个问题    函数在变量空间(变量的维度可能很高)的某一点,沿着那个方向有最大的变化率?梯度退化到xoy平面的二维空间,其实就是导数的概念。 &nb

2020-12-25 20:44:47 800 2

原创 ML/DL学习笔记2——偏差和方差模型好坏

    不同的model对应的error是不同的那么error是怎么来的呢?这里引入偏差和方差这两个概念。概念引入 偏差(bias):描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据。 方差(variance):描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。  红色靶心表示为实际值,蓝色点集为预测值。  低偏差,低方差:这是训练的理想模型,此时蓝色点

2020-12-23 22:33:54 1267

原创 ML/DL作业1——pm2.5预测

任务描述数据描述

2020-12-22 17:04:16 288 1

原创 ML/DL学习笔记1——Regression案例学习

Regression案例学习Regression(回归)就是首先提出实验模型,但是模型的关键参数未知,通过大量数据来求出最符合测试数据的实验模型,也就是求出模型的关键参数machine Learning的三个步骤:(1)定义一个model即函数集(2)定义一个损失函数去评估该函数的好坏找一个最好的函数(3)找一个最好的函数案例分析:预测宝可梦的CP值 设定具体参数Regression的具体过程 Step1:Model (函数集)这里没有具体的方法,根据实际情况根据经验一种一种的试。

2020-12-18 20:30:47 347

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除