![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tensorflow
繁华落叶草
这个作者很懒,什么都没留下…
展开
-
Tensorflow笔记之图像预处理
import tensorflow as tfimport matplotlib.pyplot as pltimport numpy as npdef distort_color(image, color_ordering=0): if color_ordering == 0: image = tf.image.random_brightness(image, ma...原创 2020-04-16 16:14:04 · 194 阅读 · 0 评论 -
Tensorflow笔记之MNIST转化为Tensorflow的通用格式TFRecords
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport numpy as np# 生成整数型的属性def _int64_feature(value): return tf.train.Feature(int64_list=tf.train.Int64List...原创 2020-04-15 16:05:05 · 181 阅读 · 0 评论 -
Tensorflow笔记之实现迁移学习
# -*- coding:utf-8 -*-import glob # 文件名匹配包import os.path # 获取文件属性包import numpy as npimport tensorflow as tffrom tensorflow.python.platform import gfile # 提供一个操作文件的API# 原始输入数据的目录,这个目录下有5个子...原创 2020-04-14 14:36:35 · 320 阅读 · 1 评论 -
Tensorflow笔记之卷积神经网络
如上图所示,该结构为卷积神经网络结构中最重要的部分,被称为过滤器(filter)或者内核(kernel),其作用是将当前层神经网络上的一个子节点矩阵转化为下一层神经网络上的一个单位节点矩阵。单位节点矩阵指长和宽都为1,但深度不限的节点矩阵。在一个卷积层中,过滤器所处理的节点矩阵的长和宽都是人工指定的,这个节点矩阵的尺寸也被称之为过滤器的尺寸。通常用的尺寸为3x3或5x5.因为过滤器处理的矩...原创 2020-04-07 15:59:40 · 239 阅读 · 1 评论 -
Tensorflow笔记之图像识别常用数据集简介
1 图像识别问题简介及经典数据集 视觉是人类认识世界非常重要的一种知觉。对于计算机来说,让计算机识别图片中的内容是很困难的。常用的经典数据集如下:MNIST手写体识别数据集是一个相对简单的数据集,在其他更加复杂的图像识别处理集上,卷积神经网络有更加突出的表现。CIFAR数据集就是一个影响力很大的图像分类数据集。CIFAR数据集分为CIFAR-10和CIFAR-100两个问题,他们都是图像...原创 2020-04-06 13:52:09 · 751 阅读 · 0 评论 -
Tensorflow笔记之持久化原理及数据格式
事实上原创 2020-04-01 21:54:24 · 223 阅读 · 0 评论 -
Tensorflow笔记之Tensorflow模型持久化
为了让训练结果可以复用,需要将训练得到的神经网络模型持久化。Tensorflow提供了一个非常简单的API来保存和还原一个神经网络,这个API就是tf.train.Saver类,下面代码给出了保存Tensorflow计算图的方法,如下所示...原创 2020-03-31 16:15:04 · 195 阅读 · 0 评论 -
Tensorflow笔记之神经网络训练及不同模型结果对比
(1)前面已经介绍了利用指数衰减的学习率设置、使用正则化来避免过拟合,以及使用滑动平均模型来使得最终模型更加健壮,下列代码给出了一个在MNIST数据集上实现这些完整Tensorflow程序。 ...原创 2020-03-25 21:50:14 · 1208 阅读 · 0 评论 -
Tensorflow笔记之MNIST数据处理
首先MNIST是一个非常有名的手写字体数字识别数据集,Tensorflow对这个数据集进行了封装,让其使用起来更加方便。MNIST数据集是NIST数据集的一个子集,它包含了60000张图片作为训练集,10000张图片作为测试集。每一张图片都代表了0-9中的一个数字。图片的大小都是28x28,且数字都会出现在图片正中间。 为了方便使用,Tensorflow提供了一个类来...原创 2020-03-22 20:06:00 · 304 阅读 · 0 评论 -
Tensorflow笔记之滑动平均模型
为了使模型在测试数据上更健壮的方法——————滑动平均模型。在采用随机梯度下降算法训练神经网络时,使用滑动平均模型在很多应用中都可以在一定程度上提高最终模型在测试训练数据上的表现。 在Tensorflow中提供tf.train.ExponentialMovingVaerage来实现滑动平均模型。在初始化ExponentialMovingAverage时,需要提供一个衰减率,...原创 2020-03-22 15:18:58 · 190 阅读 · 0 评论 -
Tensorflow笔记之过拟合问题
前面已经说到如何在训练数据上优化一个给定的损失函数,但是在真实的应用中想要的并不是让模型尽量拟合训练数据,而是通过训练出来的模型对未知的数据给出判断。所谓拟合,指的是当前一个模型过于复杂之后,它可以很好地“记忆”每一个训练数据中随机噪声的部分而忘了要去“学习”训练数据中通用的趋势。举一个例子,如果一个模型中的参数比训练数据总数还多,那么只要训练数据不冲突,这个模型就可以记住所有训练数据的结...原创 2020-03-21 23:26:06 · 268 阅读 · 1 评论 -
Tensorflow笔记之神经网络进一步优化
在前面已经介绍了神经网络优化的基本算法,通过梯度下降算法和反向传播算法。其中梯度下降算法学习率的设置尤为重要,因为它是控制参数更新的速度,决定了每次更新的幅度,如果幅度过大,那么可能导致参数在极优值得两侧来回移动。以为例,如果优化中使用的学习率为1,那么整个优化过程如下表所示:当学习率过大时,梯度下降算法的运行过程 轮数 当前轮参数值 梯度X学习率 更新后参数值...原创 2020-03-18 21:20:05 · 129 阅读 · 0 评论 -
Tensorflow笔记之神经网络优化算法
神经网络中的优化算法最常用反向传播算法和梯度下降算法来调整神经网络中参数的取值。梯度下降算法主要用于优化单个参数的取值,而反向传播算法给出了一个高效的方式在所有参数上使用梯度下降算法,从而使神经网络模型在训练数据上的损失函数尽可能小。反向传播算法是训练神经网络的核心算法,他可以根据定义好的损失函数优化神经网络中参数的取值,从而使神经网络模型在训练数据集上的损失函数达到一个较小值。 神...原创 2020-03-17 22:47:06 · 371 阅读 · 0 评论 -
Tensorflow笔记之自定义损失函数
Tensorflow不仅支持经典损失函数,还可以优化任意的自定义损失函数。下面以预测产品销量为例。在预测产品销量时,如果预测多了,商家损失的是生产商品的成本,如果预测少了,损失的是商品的利润。前面所讲到的均方误差损失函数不能很好的最大化销售利润。下面的公式给出了一个当预测多于真实值和预测少于真实值时有不同损失系数的损失函数:其中yi为一个batch中第i个数据的正确答案,yi‘为神经...原创 2020-03-16 22:07:06 · 309 阅读 · 0 评论 -
Tensorflow笔记之损失函数
首先我们要明白神经网络模型的效果以及优化的目标是通过损失函数来定义的。下面将介绍用于分类和回归的经典损失函数。并通过Tensorflow实现。(1)分类问题和回归问题是监督学习的两大类。现在介绍分类问题和回归问题中的经典损失函数。 通过神经网络解决多分类问题最常见的方法就是设置n个输出节点,其中n为类别的个数,对于每一个样例,神经网络可以得到一个n维数组作为结果输出。数组中的每个维度对...原创 2020-03-15 16:10:17 · 233 阅读 · 0 评论 -
Tensorflow笔记之多层网络解决异或问题
深度学习的一个重要性质———多层变换。在神经网络发展历程中,有一个重要的问题就是异或。最开始的单层神经网络并无法解决异或问题。当加入隐藏 之后,异或问题就可以很好地解决。因为深层神经网络有组合特征提取的功能,这个特征对于解决不易提取特征向量的问题有很大帮组。...原创 2020-03-14 19:56:24 · 422 阅读 · 0 评论 -
Tensorflow笔记之激活函数去线性化
如果将每一个神经元的输出通过一个非线性函数,那么整个神经网络的模型就变成了非线性的了。这个非线性函数就是激活函数。那么前向传播算法加上激活函数和偏置项后,如下定义:相比前面的公式,主要有两个改变。第一个是增加了偏置项(bias),偏置项是神经网络中常用的一种结构。第二个是每个节点不再是淡出的加权和,在加权和的基础上还做了一个非线性变换。常用的几种非线性激活函数图像如下:目前Ten...原创 2020-03-12 22:20:08 · 465 阅读 · 0 评论 -
Tensorflow笔记之训练神经网络模型
首先在前面的笔记中已经实现了通过Tensorflow变量来表示神经网络参数。现在学习使用监督学习的方式来更合理的参数设置参数取值。首先使用监督学习的方式设置神经网络参数需要有一个标注好的训练数据。以判断零件合格为例,标注好的训练数据集就是收集一批合格和一批不合格的零件。 监督学习最重要的思想就是,在已知答案的标注数据集上,模型给出的预测结果要尽量接近真实值。通过调整神经网络中的参数对...原创 2020-03-12 21:37:31 · 242 阅读 · 1 评论 -
Tensorflow笔记之深层神经网络
前面的学习中已经介绍了Tensorflow的基本概念。下面会学习深层神经网络。深层神经网络的定义为:一类通过多层非线性变换对高复杂性数据建模算法的合集。因为深层神经网络是实现“多层非线性变换”最常用的一种方法。深度学习具有两个非常重要的特性:多层和非线性。(1)线性模型的局限性在线性模型中,模型的输出为输入的加权和。假设一个模型的输出y和输入满足以下关系,那么这个模型就是一个线性模型。...原创 2020-03-11 21:06:25 · 145 阅读 · 0 评论 -
Tensorflow笔记之完整神经网络
下面代码为一个完整的神经网络解决二分类问题。import tensorflow as tf# numpy 是一个科学计算工具包,这里通过NumPy工具包生成模拟数据集from numpy.random import RandomState#定义训练数据batch的大小batch_size=8#定义神经网络的参数,这里还是沿用3.4.2小节中给出的神经网络结构w1=tf.Vari...原创 2020-03-10 22:05:01 · 214 阅读 · 0 评论 -
Tensorflow笔记之placeholder
通常如果每轮迭代中选取的数据都要通过常量来表示,那么Tensorflow的计算图将会太大。因为每生成一个常量,计算图就会增加一个节点。如果经过几百万甚至几亿轮迭代,计算图就会非常庞大,利用率会很低。为了避免这个问题,Tensorflow提供了placeholder机制用于提供输入数据。placeholder相当于定义了一个位置,这个位置中的数据在程序运行时再指定。这样在程序中就不需要生...原创 2020-03-09 22:19:38 · 308 阅读 · 0 评论 -
Tensorflow笔记之神经网络参数与Tensorflow变量
神经网络的参数是神经网络实现分类回归问题中的重要组成部分。 在Tensorflow中变量(tf.Variable)的作用就是保存和更新神经网路的参数。其使用之前也必须指定初始值。一般使用随机变量给Tensorflow进行赋值,下面是声明一个2X3矩阵变量的方法:weights=tf.Variable(tf.random_normal([2,3],stddev=2))上述代码...原创 2020-03-05 20:01:07 · 273 阅读 · 0 评论 -
Tensorflow笔记之前向传播算法简介
前面已经说到神经网络可以将输入的特征向量经过层层推导到最后输出,并通过这些输出解决分类问题或回归问题。那么如果要得到输出就需要一个最简单的算法----前向传播算法。想要了解前向传播算法就需要知道神经元。一个神经元有多个输入和一个输出。每个神经元既可以是其他神经元的输出,也可以是整个神经网络的输出。所谓的神经网络结构就是指不同神经元之间的连接结构。最简单的神经元输出就是输入的加权和,不同的输入...原创 2020-03-04 20:19:56 · 234 阅读 · 0 评论 -
Tensorflow笔记之神经网络
前面已经介绍了Tensorflow的基本概念,现在学习怎么通过Tensorflow实现一个简单的神经网络。1Tensorflow游乐场及神经网络简介首先Tensorflow游乐场(http://playground.tensorflow.org)是一个通过网页浏览器就能训练简单的神经网络,并实现可视化工具。如下图所示:使用神经网络解决分类问题主要分为以下四个步骤:...原创 2020-03-04 19:32:13 · 140 阅读 · 0 评论 -
Tensorflow笔记---Tensorflow运行模型-----会话
首先会话拥有并管理Tensorflow程序运行时的所有资源。所有计算完成之后需要关闭会话来帮助系统回收资源,否则就可能出现资源泄露的问题。Tensorflow使用会话的模式主要有两种形式,第一种需要明确调用会话生成函数和关闭会话函数,这种模式代码如下:#创建一个会话sess=tf.Session()#使用这个创建好的会话来得到关心的运算结果,比如可以调用sess.run(result)...原创 2020-03-04 16:23:50 · 349 阅读 · 0 评论 -
Tensorflow数据模型———张量
1张量的含义众所周知,张量(tensor)是在Tensorflow中是一个很重要的概念。在Tensorflow所有数据都需要通过张量的形式来表示。其功能可简单理解为多维数组。其中比较特殊的就是零阶张量表示的是标量(Scalar),也就是我们的 数字。那么同理一阶张量就是一维数组,也叫向量。n阶张量可以理解为一个n维数组。但是在张量中并没有真正的保存数字,它保存的是如何得到这些数字的计算过程。例...原创 2020-03-02 15:54:45 · 361 阅读 · 0 评论 -
Tensorflow入门笔记
1 Tensorflow计算模型---计算图Tensorflow中所有的计算都会被转化为计算图上的节点。众所周知,Tensorflow包含两个重要概念Tensor和Flow。Tensor就是张量,在这里可以简单理解为多维数组,Flow就是流,表明张量之间通过计算相互转化的过程。Tensorflow是一个通过计算图的形式来表述计算的编程系统。Tensorflow中的每一个计算都是计算图上...原创 2020-03-01 20:43:07 · 118 阅读 · 0 评论 -
深度学习简介
传统机器学习算法的特征:输入-》人工特征提取-》权重学习-》预测结果深度学习算法: 输入-》基础特征提取-》多层复杂特征提取-》权重学习-》预测结果例如深度学习在图像中的应用:输入-》基础特征提取(基础特征:图片像素)-》多层复杂特征提取(第一层(线条),第二层(简单形状)第三层(复杂形状))-》权重学习-》预测结果机器学习领域三大方向:自然语言处理、计算机视觉和语音识别...原创 2020-02-29 21:15:40 · 323 阅读 · 0 评论 -
Tensorflow入门之完整神经网络例程
import tensorflow as tffrom numpy.random import RandomStatebatch_size=8w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))x=tf.placehol...原创 2019-03-20 21:14:46 · 313 阅读 · 0 评论 -
根据PYTHON3修改机器学习实战之决策树 代码及注释
from math import logimport operatorimport treePlotter#计算给定数据集的香农熵的函数def calcShannonEnt(dataSet): # 求list的长度,表示计算参与训练的数据量 numEntries=len(dataSet) labelCounts={} # 计算分类标签l...原创 2018-12-26 21:55:02 · 568 阅读 · 0 评论 -
关于tensorflow的可视化
很多人安装tensorflow是在windows内使用anaconda安装的,那么怎么启动tensorboard呢?方法是:1 首先打开anaconda prompt,然后启动tensorflow2在里面输入命令 如下:记住,一定要输入双斜杠,不然界面不会显示的,然后将网址复制到浏览器,则如下所式:原创 2018-01-19 21:33:19 · 266 阅读 · 0 评论 -
tensorflow的mnist手写字体识别
训练函数import osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#加载mnis_inference.py中定义的常量和前向传播的函数import mnist_inference#配置原创 2018-01-18 16:48:43 · 586 阅读 · 0 评论 -
tensorflow画方框图
import matplotlib.pyplot as pltimport tensorflow as tf# 读取图像数据img = tf.gfile.FastGFile('/path/to/picture/3.jpg','rb').read()with tf.Session() as sess: img_data_jpg = tf.image.decode_jpeg(img)原创 2018-01-18 16:17:34 · 1405 阅读 · 0 评论 -
tensorflow中安装matplot
我选择安装tensorflow的方法是使用anaconda安装,具体安装方法网上有很都,安装后,需要使用到Python的一个画图的库,名字为matplot,但是由于我安装的是Python3.6,但是tensorflow只能使用Python3.5,所示当时创建了一个Python的环境,那么我们安装matplot的时候就要在这个Python3.5的环境内安装,所以具体安装如下: 首先下载matpl原创 2018-01-18 16:13:39 · 514 阅读 · 0 评论