![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CV
cookie
这个作者很懒,什么都没留下…
展开
-
深度学习入门学习笔记(六)
深度学习入门学习笔记(六)与学习相关的技巧本章将介绍神经网络的学习中的一些重要观点,主题涉及寻找最优权重参数的最优化方法、权重参数的初始值、超参数的设定方法等。此外,为了应对过拟合,本章还将介绍权值衰减、Dropout等正则化方法,并进行实现。一、参数的更新神经网络学习的目的是找到使损失函数的值尽可能小的参数。这是寻找最优参数的问题,解决这个问题的过程称为最优化。遗憾的是,神经网络的最优化问题非常难。这是因为参数空间非常复杂,无法轻易找到最优解。而且,在深度神经网络中,参数的数量非常庞大,导致最优化原创 2020-09-29 11:47:46 · 432 阅读 · 0 评论 -
深度学习入门学习笔记(五)
深度学习入门学习笔记(五)误差反向传播法之前我们讲解了通过数值微分计算神经网络的权重参数的梯度从而能够完成神经网络的学习过程。数值微分的优点是简单、比较容易实现,但缺点是计算上比较费时间。我们将要学习的误差反向传播法能能够高效计算权重参数的梯度。一. 反向传播1. 加法节点的反向传播首先来考虑加法节点的反向传播。这里以 z = x + y为对象,观察它的反向传播。z = x + y的导数可由下式(解析性地)计算出来。∂z∂x = 1\frac{\partial z}{\partial x}\原创 2020-09-20 10:23:54 · 407 阅读 · 0 评论 -
使用CNN完成对MNIST数据集的数字识别
import torchimport torch.nn as nnimport torch.utils.data as Dataimport torchvisionimport matplotlib.pyplot as plt# Hyper Parameters 超参数EPOCH = 1BATCH_SIZE = 50LR = 0.001DOWNLOAD_MNIST = Truetrain_data = torchvision.datasets.MNIST( root='./m原创 2020-09-08 17:39:58 · 725 阅读 · 0 评论 -
关于四种优化器SGD,Momentum,RMSprop,Adam的性能比较
import torchimport torch.utils.data as Dataimport torch.nn.functional as Fimport matplotlib.pyplot as plt# hyper parameters(超参数)LR = 0.01BATCH_SIZE = 32EPOCH = 12x = torch.unsqueeze(torch.linspace(-1, 1, 1000), dim=1)y = x.pow(2) + 0.1*torch.nor原创 2020-09-01 18:08:58 · 755 阅读 · 0 评论 -
利用torch.utils.DataLoader进行批训练
先贴代码:import torchimport torch.utils.data as DataBATCH_SIZE = 5x = torch.linspace(1, 10, 10) # this is x data (torch tensor)y = torch.linspace(10, 1, 10) # this is y data (torch tensor)torch_dataset = Data.TensorDataset(x, y)loader = Data.DataLo原创 2020-09-01 15:48:34 · 228 阅读 · 0 评论 -
关于神经网络训练网络和参数的保存和提取
import torchimport matplotlib.pyplot as plttorch.manual_seed(1) # reproducible# fake datax = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)y = x.pow(2) + 0.2*torch.rand(x.size())def save(): # save net1 net1 = torch.nn.Sequential(原创 2020-08-31 22:48:57 · 2510 阅读 · 0 评论 -
torch.nn.Sequential
CLASS torch.nn.Sequential(*args: Any)顺序容器。模块将按照在构造函数中传递的顺序添加到它。或者,也可以传入模块的有序字典。为了便于理解,这里有一个小例子:# Example of using Sequentialmodel = nn.Sequential( nn.Conv2d(1,20,5), nn.ReLU(), nn.Conv2d(20,64,5), nn.ReLU()原创 2020-08-31 21:49:46 · 213 阅读 · 0 评论 -
一个简单的分类问题案例的pytorch实现
import torchimport torch.nn.functional as Fimport matplotlib.pyplot as pltn_data = torch.ones(100, 2)# torch.normal(mean, std, *, generator=None, out=None) → Tensor# mean 是一个张量,每个输出元素的正态分布均值# std 是一个张量,每个输出元素的正态分布的标准偏差x0 = torch.normal(2*n_data, 1原创 2020-08-30 22:38:10 · 191 阅读 · 0 评论 -
深度学习入门学习笔记(四)(下)
深度学习入门学习笔记(四)(下)一。 梯度1.梯度法下面我们用数学式来表示梯度法。x0 = x0 − η∂f∂x0x_0\;=\;x_0\;-\;\eta\frac{\partial f}{\partial x_0}x0=x0−η∂x0∂fx1 = x1 − η∂f∂x1x_1\;=\;x_1\;-\;\eta\frac{\partial f}{\partial x_1}x1=x1−η∂x1∂fη表示更新量,在神经网络的学习中,称为学习率(learning rat原创 2020-08-29 17:20:53 · 407 阅读 · 0 评论 -
一个简单的回归问题案例的pytorch实现
import torch# import torch.nn.functional as Fimport matplotlib.pyplot as pltx = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x data (tensor), shape=(100, 1)# print(x.size()) # x.shapey = x.pow(2) + 0.2*torch.rand(x.size())# plt.scatter(x,原创 2020-08-25 17:14:21 · 264 阅读 · 0 评论 -
深度学习入门笔记(四)(上)
深度学习入门笔记(四)神经网络的学习这一节主要讲解神经网络的学习,这里所说的“学习”是指从训练数据中自动获取最优权重参数的过程。为了使神经网络能够进行学习,将导入损失函数这一指标。学习的目的就是以损失函数为基准,找出能使损失函数的值达到最小的权重参数。一.从数据中学习1.数据驱动先来思考一个具体的问题,比如如何实现数字“5”的识别。数字5是手写图像,我们的目标是实现能区别是否是5的程序。我们可以通过有效利用数据来解决这个问题。一种方案是,先从图像中提取特征量,再用机器学习技术学习这些特征量的模原创 2020-08-22 15:43:13 · 876 阅读 · 0 评论 -
深度学习入门笔记(三)
手写数字识别此后需要用到的代码,均可通过此链接进行下载解压链接:https://pan.baidu.com/s1FBya4cVub3LgJTJo8yMzMg提取码:ntca一. 输出层的设计神经网络可以用在分类问题和回归问题上,不过需要根据情况来改变输出层的激活函数。一般来说,分类问题用softmax函数,回归问题用恒等函数。1. 恒等函数和softmax函数恒等函数会将输入按原样输出,对于输入的信息,不加任何改动地直接输出。因此,在输出层使用恒等函数时,输入信号会原封不动的被输出。另外,将恒原创 2020-08-13 18:47:02 · 2370 阅读 · 1 评论 -
深度学习入门笔记(二)
神经网络神经网络的一个重要的性质就是它可以自动地从数据中学习到合适的权重参数。一.从感知机到神经网络感知机与神经网络存在很多的共同点。下图为一种简单的全连接网络形式神经网络的例子其中,我们把最左边一列称为输入层,最右边一列称为输出层,中间的一列称为中间层(隐藏层)。1.激活函数一般,我们将把输入信号的总和转换为输出信号的函数称为激活函数(activation function)。激活函数的计算过程 如上图所示,b为偏置,w1、w2为权重,神经元的○中明确显示了激活函数的计算过程,即原创 2020-08-11 20:52:47 · 356 阅读 · 0 评论 -
深度学习入门笔记(一)
深度学习入门学习笔记一感知机一.感知机是什么感知机接收多个输入信号,输出一个信号。图1图1是一个接收两个输入信号的感知机的例子。x1、x2是输入信号,y是输出信号,w1、w2是权重(w是weight的首字母)。图中的圆圈称作神经元或者节点。输入信号呗送往神经元时,会被分别乘以固定的权重(w1x1, w2x2)。神经元会计算过来的信号的总和只有当这个总和超过了某个界限值,才会输出1。这也称为神经元被激活。这里将找个界限称为阈值,用符号θ表示。将上述内容用数学式表示为感知机得多个输入信号都有各自原创 2020-08-10 16:37:38 · 329 阅读 · 2 评论 -
python--matplotlib可视化知识点整理
[转载]python–matplotlib可视化知识点整理,方便随时查看链接https://segmentfault.com/a/1190000005104723转载 2020-07-25 12:03:46 · 139 阅读 · 0 评论 -
CVPR 2020论文汇总及开源代码
为了在开学尽快适应研究生方向的学习,学习相关会议代码是学习CV的一个方法。以下为利用网络找到的资源:1467篇CVPR 2020论文链接:https://pan.baidu.com/s/1DoPNWXpwEkzQdPOrLsO21w提取码:te6h其中270篇开源论文的代码:https://github.com/amusi/CVPR2020-Code...原创 2020-06-11 14:48:13 · 1341 阅读 · 0 评论