- 博客(22)
- 收藏
- 关注
原创 22、TensorFlow 实现双隐层分类器
一、TensorFlow Mechanics 101 此 blog 为 tensorflow 官网 TensorFlow Mechanics 101的学习笔记,改写了其中的部分代码,整理了下。主要用到了tensorflow/examples/tutorials/mnist下的如下代码:二、命令行及输入输出参数设置 浅蓝色:命令行参数,使用tf.app.flags.DEFINE_int
2017-11-28 09:18:32 779
原创 21、TensorFlow 实现单层 Softmax 分类
一、网络结构图(5大组件)1、数据输入设计(Input)# 准备训练/验证/测试数据集mnist = input_data.read_data_sets('MNIST_data', one_hot=True)# 使用 placeholder 将数据送入网络,None 表示张量的第一个维度可以是任意长度的with tf.name_scope('Input'): X = tf.placeho
2017-11-28 09:17:30 5840 1
原创 20、TensorFlow 中 MNIST 数据集的使用
一、数据集的获取 TensorFLow 对 MNIST 数据集做了封装,让我们更加方便的使用。from tensorflow.examples.tutorials.mnist import input_data# 读取数据集,第一次TensorFlow会自动下载数据集到下面的路径中, label 采用 one_hot 形式 # label 默认采用 0~9 来表示,等价于 one_hot=F
2017-11-27 18:33:30 2906
原创 19、TensorFlow 实现最近邻分类器(K=1)
一、KNN 分类模型的三要素1、距离度量2、K 值的选择3、分类决策规则二、TF 实现最近邻分类器(K=1)import tensorflow as tfimport numpy as npimport osos.environ['CUDA_VISIBLE_DEVICES'] = '6' # 使用第七块卡os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' #
2017-11-27 18:32:31 900
原创 18、使用 tf.app.flags 接口定义命令行参数
一、使用 tf.app.flags 接口定义命令行参数众所周知,深度学习有很多的 Hyperparameter 需要调优,TensorFlow 底层使用了python-gflags项目,然后封装成tf.app.flags接口使用tf.app.flags接口可以非常方便的调用自带的DEFINE_string, DEFINE_boolean, DEFINE_integer, DEFINE_float
2017-11-27 18:31:42 1834 1
原创 17、TensorFLow GPU 的使用
一、TensorFlow 设备分配1、设备分配规则 If a TensorFlow operation has both CPU and GPU implementations, the GPU devices will be given priority when the operation is assigned to a device.2、手动指定设备分配如果你不想让系统自动为 ope
2017-11-27 18:30:26 6163
原创 16、TensorFLow 模型参数的保存与恢复
最简单的保存和恢复模型的方法是使用tf.train.Saver()对象,它给 graph 中的所有变量,或是定义在列表里的变量,添加 save 和 restore ops。tf.train.Saver()对象提供了方法来运行这些 ops,并指定了检查点文件的读写路径。一、tf.train.Saver() 类解析tf.train.Saver( var_list=None, resha
2017-11-27 18:29:37 5139
原创 15、Tensorboard 的使用
一、TensorBoard 简介及使用流程1、TensoBoard 简介 TensorBoard 和 TensorFLow 程序跑在不同的进程中,TensorBoard 会自动读取最新的 TensorFlow 日志文件,并呈现当前 TensorFLow 程序运行的最新状态。2、TensorBoard 使用流程 添加记录节点:tf.summary.scalar/image/histog
2017-11-27 18:28:33 4488 2
原创 14、TensorFLow 变量命名空间
一、name_scope with tf.name_scope(name): name_scope: 为了更好地管理变量的命名空间而提出的。比如在 tensorboard 中,因为引入了 name_scope, 我们的 Graph 看起来才井然有序。 name_scope 对 get_variable 创建变量的 name 没有影响,即 get_variable 创建的变量
2017-11-27 18:27:16 1649
原创 13、TensorFlow 数据读取
一使用 placeholder feed_dict 传入数据二使用 TFRecords 统一输入数据的格式0TFRecords 数据格式的优缺点1将数据转换为 tfrecords 文件a获得图片的保存路径和标签b指定编码函数c将图片数据和标签或其它需要需要保存的数据都转成 TFRecods 格式2读取并解码 tfrecords 文件并生成 batcha指定想要读取的 tfrecor
2017-11-27 18:26:15 1957
原创 12、TensorFlow 图像处理
一、图像编码与解码 图像在存储时并不是直接记录这些矩阵中的数字,而是记录经过压缩编码之后的结果。所以要将一张图像还原成一个三维矩阵,需要解码的过程。OpenCV 中的 imread 和 imwrite 就是一个解码和编码的过程。TensorFLow 中提供了相应的编码和解码的函数。# 图像解码函数tf.image.decode_image( contents, channel
2017-11-27 18:24:29 4197
原创 11、TensorFLow 中的参数学习算法
一、常见的参数学习算法TensorFLow 中的优化器子类都是基于其父类 tf.train.Optimizer() 的,常用的子类有以下画红框的三种: tf.train.GradientDescentOptimizer()tf.train.MomentumOptimizer()tf.train.AdamOptimizer()参数(权重和偏置)更新步骤: 计算所有可训练参数的梯度:compu
2017-11-27 18:22:45 2973
原创 10、TensorFLow 中的损失函数
一、损失函数相关概念1、交叉熵刻画了两个概率分布之间的距离,也就是说,交叉熵值越小,两个概率分布越接近通过 p 来表示 q 的交叉熵: H(p,q)=−Σp(xi)logq(xi)H(p,q)=−Σp(xi)logq(xi)H(p, q) = -\Sigma p(x_i)logq(x_i),p 为正确答案的分布,q 为预测的分布,这个log是以e为底的代码示例p = t...
2017-11-26 11:17:07 4052
原创 9、TensorFLow 中的决策函数
一、分类问题的决策函数1、多分类(包括二分类) 2、tf.nn.softmax(logits, dim=-1, name=None)softmax = exp(logits) / reduce_sum(exp(logits), dim)神经网络最后一层经过 softmax 函数后,取得概率最大的元素的 index,即为我们预测的结果# 神经网络的输出logits = tf.constant
2017-11-26 11:15:59 908
原创 8、TensorFlow 中的激活函数
一、深层神经网络为什么需要激活函数?非线性激活函数的主要作用提供网络的非线性建模能力,增强模型的表达能力,双隐层神经网络能够解决任意复杂的分类问题将原始特征从低维空间映射到高维空间(从多项式角度看——它隐含的找到了所需的高次特征项(更好的特征),从而简化了繁重的计算)线性函数不能用作激活函数的原因线性函数的线性组合仍然是线性函数不能解决线性不可分问题二、激活函数的...
2017-11-26 11:15:08 4264 1
原创 7、TensorFLow 中的池化函数
一、池化的好处及具体操作 1、使用池化函数的好处大大降低特征的维数,避免过拟合可去除一些冗余信息,得到一个低分辨率的特征图使得模型更关注是否存在某些特征而不是特征的具体位置,可以容忍一些特征微小的位移2、具体操作对输入数据体的每一个深度切片进行操作(深度保持不变)常用尺寸为 2∗22∗22*2 或 3∗33∗33*3 的滤波器,步长为 2223、常用池化操作...
2017-11-26 11:14:17 5745
原创 6、常用卷积操作及经典网络解析
一、普通卷积1、tf.nn.conv2d() :Arbitrary filters that can mix channels together tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu =True, data_format=None, name=None) 输入参数: input:...
2017-11-26 11:13:31 1914 2
原创 5、TensorFLow 控制流
一、Control Flow Operations# 先占个坑, 有空来补...tf.group(*inputs, **kwargs)tf.tupletf.identitytf.no_optf.count_up_totf.casetf.while_loop# Return true_fn() if the predicate pred is true else false
2017-11-26 11:12:46 1069
原创 4、TensorFLow 数学运算
一、Tensor 之间的运算规则相同大小 Tensor 之间的任何算术运算都会将运算应用到元素级不同大小 Tensor(要求dimension 0 必须相同) 之间的运算叫做广播(broadcasting)Tensor 与 Scalar(0维 tensor) 间的算术运算会将那个标量值传播到各个元素Note: TensorFLow 在进行数学运算时,一定要求各个 Tensor 数据类型一致
2017-11-26 11:11:53 13330
原创 3、TensorFlow 的数据模型-----张量(Tensor)
一、Tensor 类简介 Tensor 定义A Tensor is a symbolic handle to one of the outputs of an Operation. It does not hold the values of that operation’s output, but instead provides a means of computing those ...
2017-11-26 11:10:36 29364 3
原创 2、TensorFlow 的计算模型、运行模型、数据模型
一、TensorFlow 简介1. TensorFlow 的定义 Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow 代表着张量在图中通过运算(op)进行传递和变换2. TensorFlow 的工作模式 TensorFlow 使用图(Graphs)来表示计算任务,图中的节点称之为 op(Operation)
2017-11-26 11:08:55 3324
原创 1、TensorFlow 的安装
一、Anaconda 入门 由于我们使用 Anaconda 来安装 TensorFlow,所以不熟悉 Anaconda 的童鞋可以戳上面标题链接快速入门二、TensorFlow 的安装win 10 下使用 win_anaconda3-4.2.0 百度云下载(python3.5) 安装 TensorFlow 从上面云盘链接下载并安装 Anaconda3-4.2.0打开 cmd,然后执行pi
2017-11-26 11:07:31 762
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人