![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DeepLearn
文章平均质量分 75
深度学习的学习。
_愚者
这个作者很懒,什么都没留下…
展开
-
学习k近邻
K近邻(KNN)k近邻(k-nearest neighbor)可以做分类也可以做回归任务。k近邻的基本描述:选择预测点周围距离最近的k个点,通过这几个点的特征按照某种规则来预测预测点。从上述描述中可以看出在k近邻中决定某个点的值有三个要素:k值的选择距离的度量分类决策的规则分类决策的规则(学习的策略)这里介绍一种分类决策的规则:多数表决制多数表决制:在训练数据集中找到与该实例最近邻的k个实例,这k个实例多数属于某个类,就把该输入实例分为这个类。分类决策的算法:输入:训练数据集原创 2021-09-01 16:57:01 · 378 阅读 · 1 评论 -
感知机学习
文章目录感知机sign函数(感知机的模型)感知机的数据集感知机的学习策略感知机的学习算法感知机完整的学习过程一个感知机完整的学习流程图相应的实例实例的实现过程代码实现感知机感知机的定义:感知机是个线性二分类模型。其目的是学习一个超平面,可以将特征空间中的实例分为正负两类。感知机算法有两种形式:原始形式与对偶形式。从下图可以形象的看出感知机是一个什么东西:(那条斜线就是感知机学习到的超平面,这个超平面将两类点分离)sign函数(感知机的模型)函数原型:可以从上面看出sign函数非常符合感知机原创 2021-08-14 21:56:09 · 722 阅读 · 1 评论 -
pytorch掩码(masked)
pytorch掩码(masked)pytorch使用tensor.masked_fill将张量中的一些值掩盖掉。在Transformer中与BERT中都有用到。方法原型:tensor.masked_fill(mask, value)将mask中为1的部分使用value替代(value通常是一个极大或极小值),0的部分保持原值。mask必须是一个ByteTensor类型的张量(由01组成)value是替代值,一般为:1e9/1e-9示例:import torchx = torch.ar原创 2021-04-06 15:29:06 · 4321 阅读 · 1 评论 -
pytorch自定义初始化函数
文章目录Pytorch自定义初始化对单层网路进行初始化对模型(多层)进行初始化(递归)防止递归过深进行初始化手动对模型的每个层进行初始化(层数不多的时候)Pytorch自定义初始化在pytorch中,定义一个层(继承自Module),它在实例化的时候会自动初始化。但是有的场景是已知参数值的一个大概范围,那我们就可以将参数值初始化为我们想要的值,使得收敛更加快速!pytorch中提供了多种初始化函数:torch.nn.init.constant(tensor, val)torch.nn.init原创 2021-03-31 19:28:39 · 1085 阅读 · 0 评论 -
残差网络
残差网络学自:https://zhuanlan.zhihu.com/p/80226180动手学深度学习网络退化问题:在没有发生梯度消失或爆炸的情况下(使用归一化层或一些特殊网络结构可以抑制其发生)。网络的效果应该随着层数的增加而递增。但是事与愿违,网络的表现效果是:随着层数的增加先逐渐增加至饱和,然后迅速下降!注意这并不是过拟合导致的!是因为网络中有的层退化了。退化的层会比稍浅的层训练错误率更高!假如一个 K 层网络的最优层数为 F (K > F)那么 K 层网络的效果应该大于等于原创 2021-03-31 16:43:03 · 616 阅读 · 0 评论 -
批量归一化
文章目录批量归一化对全连接层进行批量归一化理论预测时使用批量归一化实现对卷积网络进行批量归一化对序列性网络进行批量归一化批量归一化在特征放缩中,我们知道了归一化、标准化可以去除特征之间的纲量。这样使得目标函数更圆滑,梯度下降的更快更稳定。对于浅层网络只是用特征归一化预处理就可以使得整个网络比较稳定。但是对于深层网络而言,随着网络的层数增加靠近输出层的参数就会出现剧烈变动,模型就会不稳定。即便使用了特征归一化预处理,仍然只是对于浅层有用,向前传播到后面的层就会不太有用了!假设正向传播为上图前四式所示原创 2021-03-29 18:25:27 · 1982 阅读 · 0 评论 -
归一化与正则化
归一化与正则化学自:https://blog.csdn.net/weixin_36604953/article/details/102652160https://blog.csdn.net/zenghaitao0128/article/details/78361038https://blog.csdn.net/u012768474/article/details/99871942归一化与正则化都属于四种特征缩放的方法,这四种分别是:Rescaling (min-max normalizat原创 2021-03-29 17:49:15 · 3639 阅读 · 0 评论 -
pytorch实现训练与测试不同输出
pytroch实现训练与测试的不同输出之前我们一直在说model.train(),model.eval()有利于BN与Dropout的实现。这是为什么呢?因为BN与Dropout是对训练与测试是有不同的操作的!所以我们需要区分训练与测试。在训练或测试代码之前我们规定:训练要加model.train()测试要加model.eval()这是因为这样可以将模型中的training属性置true或false。这样我们在就知道模型有没有训练了。class Model(nn.Module):原创 2021-03-29 17:39:17 · 507 阅读 · 0 评论 -
安装pytorch
安装pytorch(conda安装)添加镜像删除之前的镜像删除全部的镜像:conda config --remove-key channels删除单个的源:conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/添加镜像源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk原创 2021-03-14 16:12:55 · 324 阅读 · 0 评论 -
mm-bmm-matmul的区别
文章目录mm-bmm-matmul的区别torch.mmtorch.bmmtorch.matmul1D * 1D1D * 2D2D * 1D1D * 多D多D * 1D3D * 3Dmm-bmm-matmul的区别三者都是用于计算torch的计算方法!torch.mm用于计算2D矩阵tensor的叉积。(注意必须是2D的tensor才能用于mm计算)x = torch.tensor([[1,2,3]])y = torch.tensor([[1,2,3,4],原创 2021-03-07 16:25:20 · 329 阅读 · 0 评论 -
pytorch基础(二)
文章目录pytorch基础(二)激活函数SoftMaxDataLoader独热编码(使用scatter插值)Dropout权重衰减优化器SGDMomentumNAGAdampytorch基础(二)激活函数pytorch的激活函数在nn模块中!import torchfrom torch import nntanh = nn.Tanh()x = torch.tensor([1, 2, 3, 4], dtype=float)tanh = nn.Tanh()y = tanh(x)print(原创 2021-02-27 16:40:43 · 233 阅读 · 0 评论 -
pytorch基础
文章目录pytorch基础tensor定义一个tensortensor拥有的属性tensor的类型tensor的形状tensor的维度reshape一个tensor获取tensor中的值根据条件生成一个tensor生成全0生成全1生成随机数( **范围[0, 1)** )生成随机整数( **范围自己设置** )生成符合正态分布的随机数(**符合标准正态分布**)生成一个与a形状相同的b,值为随机数生成序列整数( [start, end) )tensor与numpyArray的转换tensor计算tensor原创 2021-02-20 01:58:37 · 244 阅读 · 0 评论 -
python环境配置
python环境配置创建python环境安装pipconda create -n env_name python=python_visionenv_name为你的环境名,python_vision是你的python版本。查看环境空间:conda info --envs激活环境空间:conda activate env_name安装pip(只用安装一次):使用python安装:先下载pip:https://pypi.python.org/pypi/pip#downloads解压到原创 2020-10-27 08:53:01 · 239 阅读 · 1 评论 -
jupyter修改默认浏览器与自动补全
jupyter修改默认浏览器与自动补全修改默认浏览器找到jupter_notebook_config.py(在c:\users\ASUS-PC\.jupyer中)找到# c.NotebookApp.browser = ‘’’’改为:import webbrowserwebbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Google\\Chrome\\Applic原创 2020-10-27 19:47:04 · 230 阅读 · 0 评论 -
MxNet获取DataLoader里的数据
获取DataLoader中的数据DataLoader返回的是一个迭代器,其中每次迭代返回一个数组(数组中的元素是迭代器中返回的内容NdArray)。例如train, test = d2l.load_data_fashion_mnist(batch_size=1)#train是一个DataLoder,含有features,labels(他们都是NDArray类型的)for features, labels in train: print(features, labels) break;原创 2020-10-31 16:03:00 · 1376 阅读 · 0 评论 -
深度学习计算
《动手学深度学习》-深度学习计算在我学习动手学深度学习这本书的这一章时,它的顺序是:模型的构造、模型参数的访问初始化与共享、模型参数延后初始化、自定义层、读取与存储、GPU计算。但是在我学习的构造模型的时候,它的正向传播函数用到了层,但是我却不知道层是怎么定义的。在访问模型的时候我会想它是怎么初始化的。所以在这片博客中我按照:模型参数的延后初始化、模型参数的访问初始化与共享、自定义层、模型的构...原创 2020-03-31 14:36:56 · 657 阅读 · 0 评论 -
深度学习是什么?
深度学习是什么?深度学习是神经网络模型与用数据编程思想的统一。神经网络的原则是什么?1、交替使用线性处理单元与非线性处理单元。它们被叫做“层”2、使用链式法则(反向传播)来更新网络参数。机器学习与深度学习的关系?深度学习是机器学习下的表征学习的一种方式。机器学习关注的是如何利用已有经验改善系统表征学习关注的是如何自动的找出数据的表示方式(也就是说在每一层中,应该用哪个特征来表示这个...原创 2020-03-05 15:21:20 · 599 阅读 · 0 评论