![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Tensorflow
文章平均质量分 59
lcczzu
这个作者很懒,什么都没留下…
展开
-
slim.arg_scope()的嵌套
准备工作 我们先看一下arg_scope的函数声明:@tf_contextlib.contextmanagerdef arg_scope(list_ops_or_scope, **kwargs): 有函数修饰符@tf_contextlib.contextmanager修饰arg_scope函数,我们先研究下这个函数修饰符。@的作用 @之后一般接一个可调用对象(tf_c...转载 2018-12-04 21:52:27 · 1004 阅读 · 0 评论 -
TENSORFLOW:GRAPH 和 SESSION续
用tf.Session.run去运行opertionstf.Session.run方法是tensorflow里去执行一个opertion或者对tensor求值的主要方式。你可以把一个或者多个opertaion或者tensor传递给session.run去执行。TensorFlow会执行这些operation和所有这个operation依赖的计算去得到结果。session.run需要你指定一...转载 2019-06-13 13:34:55 · 250 阅读 · 0 评论 -
TENSORFLOW中基本概念的理解
TensorFlow 里的一些概念并不straightforward。在这里我把自己经过这一段时间学习的一些理解写下来,希望能帮到其他人。TensorFlow是一个机器学习框架,它的程序结构当然也都是为深度学习准备的。我们先来看一下一个机器学习的过程是怎样的:问题用户要解决一个多分类问题。以一个普通神经网络为例,用户有100条样本记录,每个记录里有8个feature,f1-f8。最终要把...转载 2019-06-12 10:08:53 · 2878 阅读 · 0 评论 -
TensorFlow 入门之基本使用
整体介绍使用 TensorFlow, 你必须明白 TensorFlow:使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使用 tensor 表示数据. 通过 变量 (Variable) 维护状态. 使用 feed 和 fetch 可以为任意的操作(arbitrary operation)赋值或者从其中获取数据...转载 2019-06-14 17:22:51 · 150 阅读 · 0 评论 -
在TensorFlow中,Session.run 和Tensor.eval 有什么区别
TensorFlow有两种方式来评估Graph(计算图)的一部分:对变量列表做Session.run或Tensor.eval。这两者有什么区别?最佳解决思路如果你有一个Tensort,调用t.eval()相当于调用tf.get_default_session().run(t)。可以按如下方式将会话设置为默认会话:t = tf.constant(42.0)sess = t...转载 2019-06-12 10:09:00 · 248 阅读 · 0 评论 -
Tensorflow Get Started
关于Tensorflow的基本介绍Tensorflow是一个基于图的计算系统,其主要应用于机器学习。从Tensorflow名字的字面意思可以拆分成两部分来理解:Tensor+flow。Tensor:中文名可以称为“张量”,其本质就是任意维度的数组。一个向量就是一个1维的Tensor,一个矩阵就是2维的Tensor。 Flow:指的就是图计算中的数据流。当我们想要使用Tensorfl...转载 2019-06-13 13:34:50 · 185 阅读 · 0 评论 -
tensorflow: tensor,operation和Session
一、基本知识TensorFlow的基本知识是学习的基础,要有一个大致的了解。这个学习的时候遇到很多问题,所以准备一边学习一边整理。这些内容主要来自TensorFlow的中文社区,再加上自己的一些整理。首先要了解TensorFlow的基本概念。tensor可以理解为一种数据,TensorFlow就相当于一个数据的流动过程,所有能用图(graph)来表示的计算任务理论上都能用TensorFlo...转载 2019-06-13 13:34:40 · 512 阅读 · 0 评论 -
tensorflow tf.Variable()和tf.get_variable()详解
一、tf.Variable()(1)参数说明tf.Variable是一个Variable类。通过变量维持图graph的状态,以便在sess.run()中执行;可以用Variable类创建一个实例在图中增加变量;Args参数说明:initial_value:Tensor或可转换为Tensor的Python对象,它是Variable的初始值。除非validate_shape设置...转载 2019-06-12 10:09:06 · 1627 阅读 · 1 评论 -
Tensorflow: About Session, Graph, Operation and Tensor
Tensorflow是基于图(Graph)的计算系统。而图的节点则是由操作(Operation)来构成的,而图的各个节点之间则是由张量(Tensor)作为边来连接在一起的。所以Tensorflow的计算过程就是一个Tensor流图。Tensorflow的图则是必须在一个Session中来计算。这篇笔记来大致介绍一下Session、Graph、Operation和Tensor。Session...转载 2019-06-13 13:34:34 · 179 阅读 · 0 评论 -
tensorflow tensorboard可视化并保存训练结果
一、还是以mnist的例程,来演示tensorboard的可视化1、先上代码:from tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tfdir = './MNIST_data' # 最好填绝对路径# 1.Import data mnist = input_data.re...转载 2019-06-13 13:34:29 · 5405 阅读 · 0 评论 -
如何为GradientDescentOptimizer设置自适应学习率?
我正使用TensorFlow来训练一个神经网络。我初始化GradientDescentOptimizer的方式如下:init = tf.initialize_all_variables()sess = tf.Session()sess.run(init)mse = tf.reduce_mean(tf.square(out - out_))train_step = tf...转载 2019-06-13 13:34:25 · 1318 阅读 · 0 评论 -
在TensorFlow中怎么打印Tensor对象的值
在TensorFlow中,如何打印Tensor对象的值?对于下面这个TensorFlow矩阵乘法的例子:matrix1 = tf.constant([[3., 3.]])matrix2 = tf.constant([[2.],[2.]])product = tf.matmul(matrix1, matrix2)当我打印product时,显示为一个TensorObject。&l...转载 2019-06-13 13:34:19 · 17343 阅读 · 0 评论 -
如何防止Tensorflow分配整个GPU内存?
我在共享计算资源的环境中工作,也就是说,我们有几台服务器机器都配备了几个Nvidia Titan X GPU。对于小到中等尺寸的模型,Titan X的12GB通常足以让2-3人在同一GPU上同时进行训练。如果模型足够小,以至于单个模型不能充分利用Titan X的所有计算单元,那么实际上可以导致某种加速(相比串行多个训练任务来说)。即使在GPU的并发访问确实减慢了单个训练时间的情况下,同时在GP...转载 2019-06-13 13:34:14 · 1631 阅读 · 0 评论 -
在TensorFlow中如何将Tensor张量转换为numpy数组?
在Tensorflow中,使用Python,如何将张量(Tensor)转换为numpy数组呢?最佳解决办法由Session.run或eval返回的任何张量都是NumPy数组。>>> print(type(tf.Session().run(tf.constant([1,2,3]))))<class 'numpy.ndarray'>要么:...转载 2019-06-13 13:34:08 · 36901 阅读 · 5 评论 -
TENSORFLOW:GRAPH 和 SESSION
Graph 和 SessionTensorFlow用数据流图来表示你的计算中的不同操作的依赖关系。这也导致在使用底层API进行编程的时候,你首先定义一个数据流图,然后创建一个session在一些本地或者远程的设备上运行定义的graph的各个部分。如果你计划使用底层API进行编程,那么这个文档很有用。像Estimator还有Keras隐藏了很多关于graph和session的细节。但是如果你...转载 2019-06-12 10:08:47 · 471 阅读 · 0 评论 -
TENSORFLOW:VARIABLES
VariablesTensorFlow里的variable是表示你程序操作的持续共享的状态的最好的方式。变量是通过tf.Variable类操作的。一个tf.Variable表示一个tensor的值是可以通过操作来改变的。和tf.Tensor不同,tf.Variable是存在于单次session.run调用的context之外的。在内部,一个tf.Variable存储着一个持久的tens...转载 2019-06-12 10:08:41 · 341 阅读 · 0 评论 -
Inside TF-Slim(2) arg_scope
0. 前言arg_scope 源码地址 参考博客:slim.arg_scope原理分析。 源码使用到了Python特性中的 装饰器(即类似Java注释) 和 上下文管理(即with语句) 其他: 不能通过指定model_variable,来改变slim.conv2d中参数的trainable属性。不要问我怎么知道的。 1. 基本功能与使用1.1. 基本功能arg...转载 2018-12-06 21:29:47 · 499 阅读 · 0 评论 -
tensorflow之理解name_scope, variable_scope
在训练深度网络时,为了减少需要训练参数的个数(比如具有simase结构的LSTM模型)、或是多机多卡并行化训练大数据大模型(比如数据并行化)等情况时,往往需要共享变量。另外一方面是当一个深度学习模型变得非常复杂的时候,往往存在大量的变量和操作,如何避免这些变量名和操作名的唯一不重复,同时维护一个条理清晰的graph非常重要。因此,tensorflow中用tf.Variable(),t...转载 2018-12-09 11:27:47 · 678 阅读 · 0 评论 -
理解tf.reduce_sum
reduce_sum应该理解为压缩求和、抹去求和,用于降维什么是sum 什么是reduce 什么是维度(indices, 现在均改为了axis和numpy等包一致)1. 什么是维度?什么是轴(axis)?如何索引轴(axis)?这是一个很大的问题,到底什么是维度呢?维基百科说:维度,又称维数,是数学中独立参数的数目。在物理学和哲学的领域内,指独立的时空坐标的数目。0维是一点,没...转载 2019-01-04 09:50:59 · 3238 阅读 · 0 评论 -
tensorflow使用 GPU
支持的设备在一套标准系统中通常有多台计算设备。TensorFlow 支持 CPU 和 GPU 这两种设备。它们均用 strings 表示。例如:"/cpu:0":机器的 CPU。 "/device:GPU:0":机器的 GPU(如果有一个)。 "/device:GPU:1":机器的第二个 GPU(以此类推)。如果 TensorFlow 指令中兼有 CPU 和 GPU 实现,当该指令分...转载 2019-01-12 11:48:07 · 1366 阅读 · 1 评论 -
tf.transpose()的用法
tf.transpose(input, perm=[dimension_1, dimenaion_2,..,dimension_n]):dimension_n 是整数,每个数对应相应的维度,用0,1,2来表示。这个函数主要适用于交换输入张量的不同维度用的。如果input是二维,就相当是转置。如果input是三维,perm = [2,1,0],就把输入张量的第三维度和第一维度交换。 ...原创 2019-01-20 11:16:30 · 1058 阅读 · 0 评论 -
TensorFlow中的高阶函数:tf.map_fn()
在TensorFlow中,有一些函数被称为高阶函数(high-level function),和在python中的高阶函数意义相似,其也是将函数当成参数传入,以实现一些有趣的,有用的操作。其中tf.map_fn()就是其中一个。我们这里介绍一下这个函数。从0维度的 elems 中解压的张量列表上的映射。 map_fn 的最简单版本反复地将可调用的 fn 应用于从第一个到最后一个的元素序列。...转载 2019-01-16 20:04:01 · 1677 阅读 · 0 评论 -
tf.placeholder、feed_dict用法说明
函数形式:tf.placeholder(dtype,shape=None,name=None)参数:dtype:数据类型。常用的是tf.float32,tf.float64等数值类型shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3], [None, 3]表示列是3,行不定)name:名称为什么要用placeholde...转载 2019-06-11 11:04:29 · 6906 阅读 · 1 评论 -
tf.nn.conv2d是怎样实现卷积的?
实验环境:tensorflow版本1.2.0,python2.7一、介绍惯例先展示函数:tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)除去name参数用以指定该操作的name,与方法有关的一共五个参数:input:指需要做卷积的输入图像,它要求是一个Ten...转载 2019-06-11 11:23:21 · 348 阅读 · 0 评论 -
池化层max_pool中两种paddding操作
max_pool()中padding参数有两种模式valid和same模式。Tensorflow的padding和卷积层一样也有padding操作,两种不同的操作输出的结果有区别。函数原型max_pool(value, ksize, strides, padding, data_format="NHWC", name=None)这一解释除了tf.nn.max_pool,还适用于tf.nn...转载 2019-06-12 10:07:27 · 3405 阅读 · 0 评论 -
TENSORFLOW:ESTIMATORS
EstimatorsEstimators是TensorFlow的高层API,它大大简化了机器学习的编程。Estimator封装了以下功能:– 模型训练– 模型评价– 模型预测– 模型导出TensorFlow提供了一些Estimator,你也可以开发自己的Estimator,不论是TensorFlow提供的还是你自定义的都是tf.estimator.Estimator的子类。t...转载 2019-06-12 10:07:47 · 260 阅读 · 0 评论 -
TENSORFLOW:底层概念介绍
介绍这个帮助文档让你可以使用TensorFlow的底层API开始编程,让你知道:– 如何管理你自己的TensorFlow程序(用tf.Graph)和一个TensorFlow的runtime(用tf.Session)。这样你就不需要依赖Estimators去帮你管理了。– 利用tf.Session去运行一个TensorFlow的Operations。– 在底层API里使用高层的compon...转载 2019-06-12 10:08:23 · 1975 阅读 · 0 评论 -
sess.run()
函数:run(fetches, feed_dict=None, options=None, run_metadata=None)当构建完图后,需要在一个session会话中启动图,第一步是创建一个Session对象。为了取回(Fetch)操作的输出内容, 可以在使用Session对象的run()调用执行图时,传入一些 tensor, 这些 tensor 会帮助你取回结...转载 2019-06-12 10:08:29 · 46691 阅读 · 4 评论 -
TENSORFLOW:TENSORS
TensorsTensorFlow,就像名字所示,是一个关于怎么定义和计算tensors的框架。一个tensor是对向量,矩阵和更高维度的数据的通用表示。实现上,TensorFlow用n维array来表示tensor这个基本数据类型。当你写一个TensorFlow的程序,你操作和传递的主要对象就是tf.Tensor。一个tf.Tensor对象表示了一部分最终可以得到一个值的计算。Tenso...转载 2019-06-12 10:08:34 · 577 阅读 · 0 评论 -
tf.Session() vs tf.InteractiveSession()
Mainly taken fromofficialdocumentation:The only difference with a regular Session is that an InteractiveSession installs itself as the default session on construction. The methods Tensor.eval() an...原创 2019-06-13 13:33:50 · 226 阅读 · 0 评论