很多时候在运行python代码的时候我们需要从外部定义参数,从而避免每次都需要改动代码.所以一般我们都会使用 argparse 这个库.其实TensorFlow也提供了这个功能,那就是 tf.app.flags . 使用方法很简单 tf.app.flags.DEFINE_boolean("param_name", "default_val", "description") 上面给出的是定义一个bool变量,第一个参数是指参数名,第二个是默认值,第…
tf.app.flags.FLAGS 的使用,主要是在用命令行执行程序时,需要传些参数,代码如下:新建一个名为:app_flags.py 的文件. #coding:utf-8  import tensorflow as tf  FLAGS = tf.app.flags.FLAGS  tf.app.flags.DEFINE_string("train_data_path", "/home/libo3/train.txt", "training data di…
以下这些函数可以用于解决梯度消失或梯度爆炸问题上. 1. tf.clip_by_value tf.clip_by_value( t, clip_value_min, clip_value_max, name=None ) Returns:A clipped Tensor. 输入一个张量t,把t中的每一个元素的值都压缩在clip_value_min和clip_value_max之间.小于min的让它等于min,大于max的元素的值等于max. 例子: import tensorflow as tf…
I optimizer.minimize(loss, var_list) 我们都知道,TensorFlow为我们提供了丰富的优化函数,例如GradientDescentOptimizer.这个方法会自动根据loss计算对应variable的导数.示例如下: loss = ... opt = tf.tf.train.GradientDescentOptimizer(learning_rate=0.1) train_op = opt.minimize(loss) init = tf.initiali…
tf.app.flags.DEFINE_xxx()就是添加命令行的optional argument(可选参数),而tf.app.flags.FLAGS可以从对应的命令行参数取出参数.举例如下: FLAGS = tf.app.flags.FLAGS # 基本模型参数 # 定义integer型flag tf.app.flags.DEFINE_integer(flag_name='batch_size', default_value=128, docstring='Number of images…
flags = tf.app.flags FLAGS = flags.FLAGS flags.DEFINE_integer('num_hidden_layers', 3, 'number of hidden layers')…
TensorFlow tf.app&tf.app.flags用法介绍 TensorFlow tf.app argparse  tf.app.flags 下面介绍 tf.app.flags.FLAGS的使用,主要是在用命令行执行程序时,需要传些参数,其实也就可以理解成对argparse库进行的封装,示例代码如下 #coding:utf-8  # 学习使用 tf.app.flags 使用,全局变量  # 可以再命令行中运行也是比较方便,如果只写 python app_flags.py 则代码运行时默…
作 者:marsggbo 出 处:https://www.cnblogs.com/marsggbo版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本. --------------------------------------------------------------------------------------------------------------- Tensorflow       tf.app  &  tf.app.flags    用法介绍…
tf 中定义了 tf.app.flags.FLAGS ,用于接受从终端传入的命令行参数,相当于对Python中的命令行参数模块optpars(参考:python中处理命令行参数的模块optpars)做了一层封装.optpars中的参数类型是通过参数 "type=xxx" 定义的,tf中每个合法类型都有对应的 "DEFINE_xxx"函数.常用: tf.app.flags.DEFINE_string() :定义一个用于接收 string 类型数值的变量; tf.app…
tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例代码: import tensorflow as tf l1 = tf.matmul(x, w1) l2 = tf.matmul(l1, w2) y = tf.matmul(l2,w3) 1.2,激活层:引入激活函数,让每一层去线性化 激活函数有多种,例如常用的 tf.nn.relu  tf.nn.…
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有Hello World,机器学习入门有MNIST.在此节,我将训练一个机器学习模型用于预测图片里面的数字. 开始先普及一下基础知识,我们所说的图片是通过像素来定义的,即每个像素点的颜色不同,其对应的颜色值不同,例如黑白图片的颜色值为0到255,手写体字符,白色的地方为0,黑色为1,如下图. MNIST…
tensorflow学习笔记2 edit by Strangewx 2019.01.04 4.1 机器学习基础 4.1.1 一般结构: 初始化模型参数:通常随机赋值,简单模型赋值0 训练数据:一般打乱.random.shuffle() 在训练数据上推断模型:得到输出 计算损失:loss(X, Y)多种损失函数 调整模型参数:最小化损失 SGD等优化方法. 评估:70%:30% 分训练集和校验集 代码框架: 首先模型参数初始化, 然后为每个训练闭环中的运算定义一个方法:读取训练数据input,计算…
TF.Learn,TensorFlow重要模块,各种类型深度学习及流行机器学习算法.TensorFlow官方Scikit Flow项目迁移,谷歌员工Illia Polosukhin.唐源发起.Scikit-learn代码风格,帮助数据科学从业者更好.更快适应接受TensorFlow代码.囊括许多TensorFlow代码.设计模式,用户更快搭建机器学习模型实现应用.避免大量代码重复,把精力放在搭建更精确模型.与其他contrib模块无逢结合. 分布式Estimator.Estimator,各种各样…
简介 Tensorflow API提供了Cluster.Server以及Supervisor来支持模型的分布式训练. 关于Tensorflow的分布式训练介绍可以参考Distributed Tensorflow.简单的概括说明如下: Tensorflow分布式Cluster由多个Task组成,每个Task对应一个tf.train.Server实例,作为Cluster的一个单独节点: 多个相同作用的Task可以被划分为一个job,例如ps job作为参数服务器只保存Tensorflow model…
简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节点之间则是由张量(Tensor)作为边来连接在一起的.所以Tensorflow的计算过程就是一个Tensor流图.Tensorflow的图则是必须在一个Session中来计算.这篇笔记来大致介绍一下Session.Graph.Operation和Tensor. Session Session提供了O…
tensorflow学习笔记: 3.2 Tensorflow中定义数据流图 张量知识矩阵的一个超集. 超集:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集,反过来,S2是S1的子集. 张量形状: 固定长度: [],() 0阶次:[3],(2,3) 1/2阶次 不定长度:[None] 表示任意长度的向量,(None,3) 表示行数任意,3列的矩阵 获取Op:tf.shape(tensor, name="tensor_shape&qu…
深度学习-tensorflow学习笔记(1)-MNIST手写字体识别预备知识 在tf第一个例子的时候需要很多预备知识. tf基本知识 香农熵 交叉熵代价函数cross-entropy 卷积神经网络 softmax   这里用到的tf基本知识 tf.tensor-张量,其实就是矩阵.官方说法是原料 tf.Varible-变量,用来记录数据,参数.其实也是个矩阵.不过要初始化后才有具体的值 tf.Session()-会话,就是个模型,我们可以在里面添加数据流动方向,运算节点 香农熵 香农熵是计算信息…
深度学习-tensorflow学习笔记(2)-MNIST手写字体识别超级详细版 这是tf入门的第一个例子.minst应该是内置的数据集. 前置知识在学习笔记(1)里面讲过了 这里直接上代码 # -*- coding: utf-8 -*- """ Created on Fri May 25 14:09:45 2018 @author: Administrator """ #导入数据集 from tensorflow.examples.tutoria…
tensorflow学习笔记(4)-学习率 首先学习率如下图 所以在实际运用中我们会使用指数衰减的学习率 在tf中有这样一个函数 tf.train.exponential_decay(learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None) 首先看下它的数学表达式:decayed_learing_rate=learing_rate*decay_rate^(gloabl_steps/decay_…
tensorflow学习笔记(3)前置数学知识 首先是神经元的模型 接下来是激励函数 神经网络的复杂度计算 层数:隐藏层+输出层 总参数=总的w+b 下图为2层 如下图 w为3*4+4个   b为4*2+2 接下来是损失函数 主流的有均分误差,交叉熵,以及自定义 这里贴上课程里面的代码 # -*- coding: utf-8 -*- """ Created on Sat May 26 18:42:08 2018 @author: Administrator "&qu…
tensorflow学习笔记(2)-反向传播 反向传播是为了训练模型参数,在所有参数上使用梯度下降,让NN模型在的损失函数最小 损失函数:学过机器学习logistic回归都知道损失函数-就是预测值和真实值得差距,比如sigmod或者cross-entropy 均方误差:tf.reduce_mean(tf.square(y-y_))很好理解,假如在欧式空间只有两个点的的话就是两点间距离的平方,多点就是多点误差的平方和除以对比点个数 学习率:决定了参数每次更新的幅度 反向传播训练方法:为了减小los…
tensorflow学习笔记(1) (1)tf中的图 图中就是一个计算图,一个计算过程.                                       图中的constant是个常量 计算图只描述过程,不执行. (2)tf中的会话 那么怎么计算呢? tensorflow有个会话是专门用来计算的 import tensorflow as tf x=tf.constant([[1.0,2.0]]) w=tf.constant([[3.0],[4.0]]) y=tf.matmul(x,w…
1,自编码器简介 传统机器学习任务很大程度上依赖于好的特征工程,比如对数值型,日期时间型,种类型等特征的提取.特征工程往往是非常耗时耗力的,在图像,语音和视频中提取到有效的特征就更难了,工程师必须在这些领域有非常深入的理解,并且使用专业算法提取这些数据的特征.深度学习则可以解决人工难以提取有效特征的问题,它可以大大缓解机器学习模型对特征工程的依赖.深度学习在早期一度被认为是一种无监督的特征学习(Unsuperbised Feature Learning),模仿了人脑的对特征逐层抽象提取的过程.这…
在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练.而这篇文章是想自己完成LeNet网络来训练自己的数据集.LeNet主要用来进行手写字符的识别与分类,下面记录一下自己学习的过程. 我的学习步骤分为以下四步: 1,温习LeNet-5的网络层 2,使用LeNet-5训练MNIST数据集 3,使用LeNet-5训练TFRecord格式的MNIST数据集…
2014年,牛津大学计算机视觉组(Visual Geometry Group)和 Google DeepMind 公司的研究员一起研发了新的深度卷积神经网络:VGGNet ,并取得了ILSVRC2014比赛分类项目的第二名(第一名是GoogLeNet,也是同年提出的)和定位项目的第一名. VGGNet探索了卷积神经网络的深度与其性能直接的关系,通过反复堆叠 3*3 的小型卷积核和 2*2 的最大池化层,VGGNet成功的构筑了16~19层深的卷积神经网络.VGGNet相比之前的 state-of…
TensorFlow学习笔记0-安装TensorFlow环境 作者: YunYuan 转载请注明来源,谢谢! 写在前面 系统: Windows Enterprise 10 x64 CPU:Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz GPU: NVIDIA GeForce GTX 1050 Ti 所以本笔记记录Win10 64位系统下,TensorFlow的GPU版开发环境的搭建. TensorFlow-GPU环境安装 首先下载安装Anaconda,版本不受限制…
from http://m.blog.csdn.net/shengshengwang/article/details/75235860 1. RNN结构 解析: (1)one to one表示单输入单输出网络.这里的但输入并非表示网络的输入向量长度为1,而是指数据的长度是确定 的.比如输入数据可以是一个固定类型的数,可以是一个固定长度的向量,或是一个固定大小的图片.同理,模型输 出规模也是确定的.传统神经网络和CNN都可以理解为是这种形式的结构. (2)one to many表示定长输入变长输出…
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础   TensorFlow用张量这种数据结构来表示所有的数据.用一阶张量来表示向量,如:v = [1.2, 2.3, 3.5] ,如二阶张量表示矩阵,如:m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]],可以看成是方括号嵌套的层数. 1.编辑器 编写tensorflow代码,实际上就是编写py文件,最好找一个好用的编辑器,如果你用vim或…
卷积网络 卷积神经网络(Convolutional Neural Network,CNN)专门处理具有类似网格结构的数据的神经网络.如: 时间序列数据(在时间轴上有规律地采样形成的一维网格): 图像数据(二维的像素网格): 卷积网络是指至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络. 卷积 前面讲过卷积, 相关算法这里直接使用. 卷积公式为:\(s(t)=\int_{-\infty}^{t}x(\tau)w(t-\tau)d\tau\),记作\(s(t)=(x*w)(t)\).…
TensorFlow学习笔记3-从MNIST开始学习softmax 本笔记内容为"从MNIST学习softmax regression算法的实现". 注意:由于我学习机器学习及之前的书写习惯,约定如下: \(X\)表示训练集的设计矩阵,其大小为m行n列,m表示训练集的大小(size),n表示特征的个数: \(W\)表示权重矩阵,其大小是n行k列,n为输入特征的个数,k为输出(特征)的个数: \(\boldsymbol{y}\)表示训练集对应标签,其大小为m行,m表示训练集的大小(siz…