TensorFlow1.X 基础教程
文章平均质量分 85
tensorflow的基础教程,编写较早,适用于1.x版本
Font Tian
某公司山东分公司研发中心主管。目前主要工作为ABC融合,主要业余目标为发论文,玩开源。
展开
-
7.1 TensorFlow笔记(基础篇):加载数据之预加载数据与填充数据
TensorFlow加载数据TensorFlow官方共给出三种加载数据的方式: 1. 预加载数据 2. 填充数据 预加载数据的缺点: 将数据直接嵌在数据流图中,当训练数据较大时,很消耗内存.填充的方式也有数据量大,消耗内存高的缺点,并且数据类型的转换等中间环节增加了不少开销(之前的笔记示例中主要使用的这两种方式).最好用第三种方法,在图中定义好文件读取的方法,让Tensorflow 自己从原创 2017-08-05 17:24:02 · 1642 阅读 · 0 评论 -
2.1 name_scope 简单入门(一)
name_scope 等内容主要是用来可视化的,tensoeboardimport tensorflow as tfimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'with tf.variable_scope('foo'): with tf.name_scope('bar'): v = tf.get_variable('v'原创 2017-10-23 21:38:54 · 1068 阅读 · 0 评论 -
9.1 mnist_softmax 交叉熵多分类器
softmax交叉熵多分类器具体含义不再解释,这是一个我们比较常用的一个多分类器.深度学习的一大优点就是特征的自动构建,也正是因为该优点,使得分类器层显得不再那么重要,在Tensorflow的官方源码中,softmax是很常见的一个多分类器.其调用也十分的简单.此处再此单独拿出来介绍,是为了下一步的学习做准备.使用方法 cross_entropy = tf.reduce_mean( t原创 2017-10-23 21:14:50 · 1330 阅读 · 0 评论 -
8.2 TensorFlow实现KNN与TensorFlow中的损失函数,优化函数
前言8.1 mnist_soft,TensorFlow构建回归模型中对主要对计算图的概念与公式与计算图的转化进行了介绍,8.2则主要介绍一下TensorFlow中自带的几个算子,与优化函数,损失函数的定义,并以KNN的例子进行整体的串联.加载数据,依旧使用mnist手写数字的数据# 导入数据from tensorflow.contrib.learn.python.learn.datasets im原创 2017-09-13 22:42:01 · 1454 阅读 · 0 评论 -
8.1 mnist_soft,TensorFlow构建回归模型
背景之前已经写了很多TensorFlow的基本知识,现在利用TensorFlow实现一些简单的功能,对原来的知识进行串联,并初步入门,该部分共包括三篇,分别实现的是回归模型,浅层神经网络,KNN。TensorFlow构建回归模型本代码的构建步骤建立公式的计算图损失函数与优化器加载数据启动会话,训练与测试建立计算图在TensorFlow中构建模型,我们首先需要实现的一个计算图,然后再在Ses原创 2017-09-07 22:20:25 · 958 阅读 · 0 评论 -
Python中的argparse模块
简介argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数. 如果你想详细的了解它的功能.建议阅读这个,或者这个 本篇文章只对其基本功能进行介绍,并对TensorFlow的examples中argarse使用进行详细的介绍功能原本的功能是命令行解析模块使用argparse的第一步就是创建一个解析器对原创 2017-08-05 20:44:25 · 3072 阅读 · 1 评论 -
8.3 TensorFlow BP神经网络构建与超参数的选取
前言之前的8.1 构建回归模型的重点在于计算图概念,8.2则介绍一些在整个流程中更靠后的部分:损失函数,优化函数,以及一些其他常用的函数.而本片中的重点在于构建计算图,与模型的训练与测试BP代码与讲解设置数据之所以对第一次生成的随机数据进行存储主要是为了能够进行后面的超参数的选取# 生成与加载数据# 构造满足一元二次方程的函数def Build_Data(): Path_x_data =原创 2017-09-13 20:58:14 · 3056 阅读 · 0 评论 -
9.2 mnist_with_summaries tensorboard 可视化展示
tensorboard tensorflow中的可视化组件在新版本的tensorflow 中tensorboard已经被整合,无需下载.其执行是利用了一个封装的内置服务器,性能不错. 我们可以将神经网络运行时的各类数据存储下来进行可视化展示,我首先展示其功能,然后再分解代码.本处例子源自tensorflow的官方源码,如果你需要了解更多,建议直接阅读官方文档展示最重要的网络结构的展示基本数据的展示原创 2017-10-23 22:25:24 · 1280 阅读 · 0 评论 -
9.3 Trains and Evaluates the MNIST network using a feed dictionary
简介这部分代码来自tensorflow的源码,代码中的注释相当的详细,假如对于9.2 你已经比较详细,那么我建议您运行这份源码示例.他会给你很好的帮助. 这份代码主要展示了projector模块(当然你也可以结合9.2 进行扩展),其中的T-SNE以及PCA都是官方提供的可视化方案,很有意思.关键点argparse : python的一个类库python中的argparse模块fill_fee原创 2017-10-31 11:15:53 · 632 阅读 · 0 评论 -
6.1 Tensorflow笔记(基础篇):队列与线程
前言在Tensorflow的实际应用中,队列与线程是必不可少,主要应用于数据的加载等,不同的情况下使用不同的队列,主线程与其他线程异步进行数据的训练与读取,所以队列与线程的知识也是Tensorflow必须要学会的重要知识 另一方面,Tensorflow作为符号编程框架,在构图后,加载数据有三种方式,预加载与填充数据都存在,数据量大消耗内存等情况的出现.使用第三种方式文件读取避免了前两者的缺点,但是原创 2017-08-04 21:49:40 · 3996 阅读 · 2 评论 -
3.1 Tensorflow: 批标准化(Batch Normalization)
批标准化(Batch Normalization )简称BN算法,是为了克服神经网络层数加深导致难以训练而诞生的一个算法。根据ICS理论,当训练集的样本数据和目标样本集分布不一致的时候,训练得到的模型无法很好的泛化。而在神经网络中,每一层的输入在经过层内操作之后必然会导致与原来对应的输入信号分布不同,并且前层神经网络的增加会被后面的神经网络不对的累积放大。原创 2017-08-04 01:19:49 · 21782 阅读 · 2 评论 -
5.2 TensorFlow:模型的加载,存储,实例
背景之前已经写过TensorFlow图与模型的加载与存储了,写的很详细,但是或闻有人没看懂,所以在附上一个关于模型加载与存储的例子,.其中模型很巧妙,比之前numpy写一大堆简单多了,这样有利于把主要注意力放在模型的加载与存储上.解析创建保存文件的类:saver = tf.train.Saver()saver = tf.train.Saver() ,即为常见保存模型原创 2017-08-12 13:06:24 · 5109 阅读 · 4 评论 -
4.1 Tensorflow:卷积函数
[batch,in_height,in_width,in_channels],例如mnist中的输入图像为 28 * 28 的黑白图像,其张量即为[batch,28,28,1],1代表黑白,RGB彩色图像的通道则为3,而batch 则为输入的图像数量,一次输入10张图片时,其为10,20张时则为20。tf.nn.conv2d:对一个思维的输入数据 input 和四维的卷积核filter 进行操作,然后对输入的数据进行二维的卷积操作,得到卷积之后的结果,也是我们最常用的卷积函数。,则会缩小原图像的大小.原创 2017-08-04 01:12:27 · 23673 阅读 · 10 评论 -
4.2 Tensorflow笔记:池化函数
池化层的输入一般来源于上一个卷积层,主要作用是提供了很强的鲁棒性(例如max-pooling是取一小块区域中的最大值,此时若此区域中的其他值略有变化,或者图像稍有平移,pooling后的结果仍不变),并且减少了参数的数量,防止过拟合现象的发生,同时参数的减少对于计算而言也有一定的帮助。其中,input为输入,conv为卷积层,由卷积核构成,pool为池层,由池化函数构成最后是全连接层与输出层,其负责对卷积层提取的特征进行处理以获得我们需要的结果。。原创 2017-08-04 01:16:22 · 14741 阅读 · 5 评论 -
TypeError: Can not convert a float32 into a Tensor or Operation.
错误TypeError: Can not convert a float32 into a Tensor or Operation.# 类型错误:不能将一个浮动32转换为一个张量或操作。TypeError: Fetch argument 2.3025854 has invalid type <class 'numpy.float32'>, must be a string or Tensor. (原创 2017-08-09 21:03:55 · 14228 阅读 · 14 评论 -
1.1 Tensorflow笔记(基础篇): 图与会话,变量
图与会话import tensorflow as tfimport os# 取消打印 cpu,gpu选择等的各种警告# 设置TF_CPP_MIN_LOG_LEVEL 的等级,1.1.0以后设置2后 只不显示警告,之前需要设置3,但设置3不利于调试os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'import time# 创建一个常量 op, 产生一个 1x2 矩原创 2017-08-03 23:11:54 · 1135 阅读 · 0 评论 -
7.2 TensorFlow笔记(基础篇): 生成TFRecords文件
前言在TensorFlow中进行模型训练时,在官网给出的三种读取方式,中最好的文件读取方式就是将利用队列进行文件读取,而且步骤有两步: 1. 把样本数据写入TFRecords二进制文件 2. 从队列中读取TFRecords二进制文件,能够更好的利用内存,更方便的移动和复制,并且不需要单独的标记文件 下面官网给出的,对mnist文件进行操作的code,具体代码请参考:tensorflow-m原创 2017-08-05 17:18:50 · 2372 阅读 · 0 评论 -
7.3 TensorFlow笔记(基础篇):加载数据之从队列中读取
前言整体步骤在TensorFlow中进行模型训练时,在官网给出的三种读取方式,中最好的文件读取方式就是将利用队列进行文件读取,而且步骤有两步: 1. 把样本数据写入TFRecords二进制文件 2. 从队列中读取数据读取TFRecords文件步骤使用队列读取数TFRecords 文件 数据的步骤 1. 创建张量,从二进制文件读取一个样本数据 2. 创建张量,从二进制文件随机读取一个mi原创 2017-08-05 17:39:20 · 1800 阅读 · 3 评论 -
5.1 Tensorflow:图与模型的加载与存储
前言自己学Tensorflow,现在看的书是《TensorFlow技术解析与实战》,不得不说这书前面的部分有点坑,后面的还不清楚.图与模型的加载写的不清楚,书上的代码还不能运行=- =,真是BI….咳咳.之后还是开始了查文档,翻博客的填坑之旅 ,以下为学习总结.快速应用存储与加载,简单示例# 一般而言我们是构建模型之后,session运行,但是这次不同之处在于我们是构件好之后存储了模型# 然后在原创 2017-08-04 12:12:51 · 4559 阅读 · 1 评论