![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
Donreen
大起大落,知足常乐
展开
-
keras学习率余弦退火CosineAnnealing
keras学习率余弦退火CosineAnnealing1.引言2.余弦退火的原理2.keras实现1.引言当我们使用梯度下降算法来优化目标函数的时候,当越来越接近Loss值的全局最小值时,学习率应该变得更小来使得模型不会超调且尽可能接近这一点,而余弦退火(Cosine annealing)可以通过余弦函数来降低学习率。余弦函数中随着x的增加余弦值首先缓慢下降,然后加速下降,再次缓慢下降。这种下...原创 2020-02-20 17:36:51 · 11278 阅读 · 2 评论 -
EfficientNet论文笔记及源码
EfficientNet笔记1.EfficientNet论文解读2.keras实现代码前面在做关于图片分类的项目时,在github上面发现了有的项目用的efficientnet网络结构的效果比较好,网上相关资料较少,找到了论文看一下,顺便记录一下。论文链接:https://arxiv.org/abs/1905.119461.EfficientNet论文解读说是解读肯定谈不上,只是一些个人的...原创 2020-02-10 15:31:47 · 2894 阅读 · 6 评论 -
keras通过model.fit_generator训练模型(节省内存)
keras通过model.fit_generator训练模型(节省内存)1.fit_generator函数简介2.generator实现2.1生成器的实现方式2.2使用Sequence实现generator前言前段时间在训练模型的时候,发现当训练集的数量过大,并且输入的图片维度过大时,很容易就超内存了,举个简单例子,如果我们有20000个样本,输入图片的维度是224x224x3,用float3...原创 2020-01-04 22:40:33 · 4189 阅读 · 4 评论 -
在Google Colab上面进行深度学习的模型训练
在Google Colab上面进行深度学习的模型训练1.使用步骤1.1准备工作先简单介绍介绍一下,google colab为我们提供了免费的GPU,感觉类似于服务器之类的,对于学生党来说还是不错的选择的。步入正题,在我们使用colab之前,得先能够“科学上网”才行,毕竟国内是没办法直接访问google的。1.使用步骤1.1准备工作(1)登录账号进入谷歌云盘,点击新建文件夹,文件夹名称随便...原创 2019-12-27 13:53:03 · 4119 阅读 · 3 评论 -
分别基于Tensorflow和Keras加载预训练模型实现迁移学习
分别基于Tensorflow和Keras加载预训练模型实现迁移学习1.什么迁移学习和预训练模型?2.实现迁移学习的方法及使用场景3.python代码实现3.1特征提取3.1.1基于keras实现3.1.2基于tensorflow实现3.2训练特定层,冻结其它层3.2.1基于keras的实现1.什么迁移学习和预训练模型?迁移学习(Tranfer Learning):神经网络可以从一个任务中习得知...原创 2019-12-26 22:20:34 · 3032 阅读 · 3 评论 -
基于tensorflow的手写数字体识别
基于tensorflow的手写数字体识别1.mnist数据集准备以及选取网络结构1.mnist数据集准备以及选取网络结构(1)准备数据集tensorflow社区mnist数据集下载:MNIST 数据下载点击上面的链接找到如图所示的位置,点击进行下载:百度网盘链接下载:(https://pan.baidu.com/s/1gKX9kKtducGvI5DeZKOkog) 提取码:av3...原创 2019-12-25 14:27:48 · 932 阅读 · 0 评论 -
在tensorflow中使用batch normalization及其原理
在tensorflow中使用batch normalization1.batch normalization的原理2.tf.nn.moments3.tf.train.ExponentialMovingAverage4.tf.control_dependencies5.tf.identity6.tf.cond最近看到了一段关于在tensorflow中如何使用batch normalization的...原创 2019-12-18 16:12:08 · 1394 阅读 · 0 评论 -
tf.nn.moments( )函数中参数的理解
tf.nn.moments函数中参数的理解1.对axes参数的理解1.1当输入的维度=[3,3],axes=[0]时1.1当输入的维度=[2,2,2,3],axes=[0,1,2]时2.补充最近在看batchnorm函数的时候,看到了tf.nn.moments( )函数,查看了相关文章,有了一些理解,主要是是对axes参数的理解。首先看到函数的定义:def moments( x, ...原创 2019-12-17 20:25:01 · 995 阅读 · 0 评论 -
反向传播算法的推导过程
反向传播算法的推导过程首先先看到神经网络的模型例子:我们知道在用梯度下降算法最小化代价函数的过程中,我们更新权重参数需要求代价函数关于其的偏导,而我们的反向传播算法的作用就是用于求其偏导数。给定训练集D={(x1,y1),(x2,y2),...,(xm,ym)}D={(x_1,y_1),(x_2,y_2), ...,(x_m,y_m)}D={(x1,y1),(x2,y2),...,...原创 2019-11-19 15:43:46 · 637 阅读 · 0 评论 -
对mini-batch梯度下降算法的理解以及代码实现
对mini-batch梯度下降算法的理解以及代码实现1.什么是mini-batch梯度下降1.什么是mini-batch梯度下降首先我们知道原始梯度下降算法是在整个训练集上进行的,把整个训练集作为数据传入,求解代价和梯度。但是我们在深度学习项目中很多时候数据集是非常庞大的,当我们把整个数据集传入矩阵进行运算的时候速度会很慢,并且对内存的要求也比较高。**mini-batch梯度下降(MBGD...原创 2019-12-13 14:47:40 · 7320 阅读 · 1 评论