![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TensorFlow
文章平均质量分 78
缘定三石
这个作者很懒,什么都没留下…
展开
-
TensorFlow框架--Keras使用
Keras 是一个高级的Python 神经网络框架,其文档详。Keras 已经被添加到 TensorFlow 中,成为其默认的框架,为TensorFlow 提供更高级的API。 如果读者不想了解TensorFlow 的细节,只需要模块化,那么Keras 是一个不错的选择。如 果将TensorFlow 比喻为编程界的Java 或C++,那么Keras 就是编程界的Python。它作为 Ten原创 2018-02-05 11:02:37 · 13444 阅读 · 0 评论 -
TensorFlow实战系列13--LeNet-5 模型
LeNet-5 模 型 是 Yann LeCun 教 授 于 1998 年 在 论 文 Gradient-basedlearning applied to document recognition 中提出的,它是第一个成功应用于数字识别问题的卷积神经网络。在 MNIST 数据集上,LeNet-5 模型可以达到大约 99.2% 的正确率。LeNet-5 模型总共有 7 层,图 7 展示了 LeN原创 2018-02-06 15:11:42 · 932 阅读 · 0 评论 -
TensorFlow实战系列12--池化层网络结构
在卷积神经网络中,卷积层之间往往会加上一个池化层(poolinglayer)。池化层可以非常有效地缩小矩阵的尺寸,从而减少最后全连接层中的参数。使用池化层既可以加快计算速度也有防止过拟合问题的作用。和卷积层类似,池化层前向传播的过程也是通过移动一个类似过滤器的结构完成的。不过池化层过滤器中的计算不是节点的加权和,而是采用更加简单的最大值或者平均值运算。使用最大值操作的池化层被称之为最大池化层(ma原创 2018-02-06 14:52:44 · 1422 阅读 · 0 评论 -
TensorFlow实战系列11--卷积层网络结构
图 4 中显示了卷积层神经网络结构中最重要的部分,这个部分被称之为过滤器(filter)或者内核(kernel)。因为 TensorFlow 文档中将这个结构称之为过滤器(filter),所以我们将统称这个结构为过滤器。如图 4 所示,过滤器可以将当前层神经网络上的一个子节点矩阵转化为下一层神经网络上的一个单位节点矩阵。单位节点矩阵指的是一个长和宽都为 1,但深度不限的节点矩阵。原创 2018-02-06 14:45:24 · 3461 阅读 · 0 评论 -
TensorFlow实战系列10--卷积神经网络简介
斯 坦 福 大 学(Stanford University) 李 飞 飞(Feifei Li) 教 授 带 头 整理的 ImageNet 是图像识别领域非常有名的数据集。在 ImageNet 中,将近 1500 万图片被关联到了 WordNet 的大约 20000 个名词同义词集上。ImageNet 每年都举办图像识别相关的竞赛(ImageNet Large Scale VisualRecog原创 2018-02-06 14:21:11 · 408 阅读 · 0 评论 -
TensorFlow实战系列9--实战程序1
将训练和测试分成两个独立的程序,这可以使得每一个组件更加灵活。比如训练神经网络的程序可以持续输出训练好的模型,而测试程序可以每隔一段时间检验最新模型的正确率,如果模型效果更好,则将这个模型提供给产品使用。除了可以将不同功能模块分开,本节还将前向传播的过程抽象成一个单独的库函数。因为神经网络的前向传播过程在训练和测试的过程中都会用到,所以通过库函数的方式使用起来既可以更加方便,又可以保证训练和测试过原创 2018-02-06 14:00:52 · 374 阅读 · 0 评论 -
TensorFlow实战系列8--滑动平均模型
在采用随机梯度下降算法训练神经网络时,使用滑动平均模型在很多应用中都可以在一定程度提高最终模型在测试数据上的表现。滑动平均模型可以有效的减小训练数据中的噪音对模型带来的影响。在TensorFlow中提tf.train.ExponentialMovingAverage 来实现滑动平均模型。在初始化ExponentialMovingAverage 时,需要提供一个衰减率(decay)。这个衰减率将原创 2018-02-06 13:48:24 · 858 阅读 · 0 评论 -
TensorFlow实战系列7--过拟合问题
在使用梯度下降优化神经网络时,被优化的函数就是神经网络的损失函数。这个损失函数刻画了在训练数据集上预测结果和真实结果之间的差距。然而在真实的应用中,我们想要的并不是让模型尽量模拟训练数据的行为,而是希望通过训练出来的模型对未知的数据给出判断。模型在训练数据上的表现并不一定代表了它在未知数据上的表现。过拟合问题就是可以导致这个差距的一个很重要因素。所谓过拟合,指的是当一个模型过为复杂之后,它可以很好原创 2018-02-05 22:40:23 · 545 阅读 · 0 评论 -
TensorFlow实战系列6--学习率的设置
上面提到在优化神经网络时,需要设置学习率(learning rate)控制参数更新的速度。学习率决定了参数每次更新的幅度。如果幅度过大,那么可能导致参数在极优值的两侧来回移动。还是以优化J(x)=x2 函数为样例。如果在优化中使用的学习率为1,那么整个优化过程将会如表2 所示。 从上面的样例可以看出,无论进行多少轮迭代,参数将在5 和-5 之间摇摆,而不会收敛到一个极小值从上面原创 2018-02-05 22:36:32 · 2010 阅读 · 1 评论 -
TensorFlow实战系列5--梯度下降算法
本文将介绍优化训练神经网络模型的一些常用方法,并给出使用TensorFlow 实现深度学习的最佳实践样例代码。为了更好的介绍优化神经网络训练过程,我们将首先介绍优化神经网络的算法——梯度下降算法。然后在后面的部分中,我们将围绕该算法中的一些元素来优化模型训练过程。梯度下降算法 梯度下降算法主要用于优化单个参数的取值,而反向传播算法给出了一个高效的方式在所有参数上使用梯度下降算法,从而使神经原创 2018-02-05 22:35:19 · 2835 阅读 · 0 评论 -
TensorFlow实战系列4-- 解决MNIST 问题
MNIST 是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例。MNIST 数据集是NIST 数据集的一个子集,它包含了60000 张图片作为训练数据,10000 张图片作为测试数据。在MNIST 数据集中的每一张图片都代表了0-9 中的一个数字。图片的大小都为28×28,且数字都会出现在图片的正中间。图5 展示了一张数字图片及和它对应的像素矩阵:原创 2018-02-05 22:14:09 · 370 阅读 · 0 评论 -
TensorFlow实战系列3--实现反向传播
在前向传播的样例程序中,所有变量的取值都是随机的。在使用神经网络解决实际的分类或者回归问题时需要更好地设置参数取值。使用监督学习的方式设置神经网络参数需要有一个标注好的训练数据集。以判断零件是否合格为例,这个标注好的训练数据集就是收集的一批合格零件和一批不合格零件。监督学习最重要的思想就是,在已知答案的标注数据集上,模型给出的预测结果要尽量接近真实的答案。通过调整神经网络中的参数对训练数据进行拟合原创 2018-02-05 22:08:34 · 6759 阅读 · 0 评论 -
TensorFlow实战系列2-- 实现前向传播
为了介绍神经网络的前向传播算法,需要先了解神经元的结构。神经元是构成一个神经网络的最小单元,图2 显示了一个神经元的结构。 图2 神经元结构示意图 从图2 可以看出,一个神经元有多个输入和一个输出。每个神经元的输入既可以是其他神经元的输出,也可以是整个神经网络的输入。所谓神经网络的结构就是指的不同神经元之间的连接结构。如图2 所示,神经元结构的输出是所有输原创 2018-02-05 22:00:20 · 885 阅读 · 0 评论 -
TensorFlow 实战系列1---基本概念
TensorFlow 的名字中已经说明了它最重要的两个概念——Tensor和Flow。Tensor 就是张量。在TensorFlow 中,所有的数据都通过张量的形式来表示。从功能的角度上看,张量可以被简单理解为多维数组。但张量在TensorFlow 中的实现并不是直接采用数组的形式,它只是对TensorFlow 中运算结果的引用。在张量中并没有真正保存数字,它保存的是如何得到这些数字的计算过程原创 2018-02-05 21:51:36 · 468 阅读 · 0 评论 -
卷积神经格络(CNN)模型训练 MNIST数据集
# 数据集下载地址:https://github.com/nlintz/TensorFlow-Tutorials/blob/master/05_convolutional_net.py本文用TensorFlow 搭建一个卷积神经格络(CNN)模型,并用它来训练 MNIST数据集。同样,构建的流程也是先加载数据,再构建格络模型,最后训练和评估模型。# 加载TF 并加载数据import te原创 2018-02-05 13:40:47 · 922 阅读 · 0 评论 -
TensorFlow 框架--TFLearn使用
得益于TensorFlow 社区的繁荣,诞生出许多高质量的元框架(metaframework),如Keras、TFLearn、TensorLayer 等。使用元框架能够大大减少编写TensorFlow 代码的工作量,方便开发 者很速搭建网络模型,并且使代码简单、可读性强。 TFLearn 是一个建立在TensorFlow 顶部的模块化的深度学习框架,它为TensorFlow 提供原创 2018-02-05 10:48:32 · 3405 阅读 · 3 评论 -
TensorFlow实战系列14--循环神经网络简介
循 环 神 经 网 络(recurrent neural network,RNN) 源 自 于 1982 年 由Saratha Sathasivam 提出的霍普菲尔德网络。霍普菲尔德网络因为实现困难,在其提出的时候并且没有被合适地应用。该网络结构也于 1986 年后被全连接神经网络以及一些传统的机器学习算法所取代。然而,传统的机器学习算法非常依赖于人工提取的特征,使得基于传统机器学习的图像识别、语原创 2018-02-07 12:13:42 · 672 阅读 · 0 评论