-
参考资料: tf_doc_Reading data TENSORFLOW INPUT PIPELINE EXAMPLE tensorflow:理解tensorflow中的输入管道 第二个参考资料是第一个的翻译版本,翻译的水平一般,建议看原文,不是很长。 下面是我挑了文章中重点的部分+自己的理解。 TL;DR; 一个适用于不是很大的数据集的pipline input 的例子。 Load Data in Tensorflow input pipline 可以理解称一种load data的方式。 一般有两种方式load data,一种是比较传统的,使用feed 的方式。如果数据集比较大,这种方式就不适用了,因为这种方式需要将数据全部导入 …
Read More -
在这里存个备份,还有些问题没有解决。 raise ValueError("GraphDef cannot be larger than 2GB.") 记录一些思路好了。现在是没有生成.meta文件,爆掉应该是因为所有的变量都加载到了默认图里。 也就是说我处理完checkpoint 0 之后开始处理checkpoint1,但是checkpoint0的那些变量还是存在的...所以越来越多? 目前有两个想法,第一个想法是是受TensorFlow极简教程:创建、保存和恢复机器学习模型 中启发,用多个saver,每个saver指定要搞的图(但是这样好像要每个checkpoint都是不同的saver才有意义?) 第二个想法 …
Read More -
参考资料: What is the TensorFlow checkpoint meta file? TensorFlow: Restoring variables from from multiple checkpoints 合并模型的时候发现.meta一直在累加,而其他数据文件没有改变。因此来探究一下checkpoint的几个文件的含义。 This file contains a serialized [`MetaGraphDef` protocol …
Read More -
参考资料: programmers_guide/variables tf/Variable 之前感觉对tensorflow 的variable的理解不是很深刻...跑个模型啥的倒不会有什么问题,但是涉及分布式,模型并行之类的,感觉有些地方还是要理解得仔细一点比较好。 OVERVIEW variable的目的是将状态可持久化。 Unlike tf.Tensor objects, a tf.Variable exists outside the context of a singlesession.run call. 通俗地说就是,variable可以用来存储一个可持久化的tensor 一些op允许读取或者修改tensor的值,这些修改 …
Read More -
tensorflow-session官方文档 说下我自己的理解: session中文一般叫会话,可以理解成op执行时候需要的一层虚拟化的封装。 op必须在session中才能执行。 tensor也是在tensor中才可以存在(tf.variable和tensor几乎是一回事,只是tf.variable的会话不要求session,也可以理解成tf.variable在session中就成了tensor. 需要注意的是session一般会占据资源,所以在使用完记得释放,或者写成with的形式(看到with总想叫成开域语句...感觉暴露年龄orz 下面这两种形式是等价的: # Using the `close()` method. sess …
Read More -
是在使用分布式tensorflow遇到的一个错误 报错如下: InvalidArgumentError (see above for traceback): Cannot assign a device for operation 'save/Rest│| 2 GeForce GTX 1080 On | 0000:08:00.0 Off | N/A | oreV2_888': Operation was explicitly assigned to /job:worker/task:0/device:CPU:0 but available │| 24% 39C P8 12W / 180W | 0MiB / 8114MiB | 0% …
Read More -
感觉资料不是很多,先收集资料好了。 tf-distributed官网文档 SO-between-graph和in-graph的区别 inception.README.md SyncReplicasOptimizer SO_How does ps work in distribute Tensorflow? update:在多个nodes(机)上跑。。。tf默认是异步更新的。。。同步的话。。大概需要syncreplicasoptimizer? 来直观感受下,不同task的之间并不同步 创建一个cluster 每一个task唯一对应一个server,server中有一个master,还有若干个worker cluster是task的集 …
Read More -
update:supervisor的缺点是遇到问题只会抛异常,所以现在有一个better的管理工具,MonitoredSession master,chief worker,Supervisor 这几个概念有点搞不清(我最菜.jpg 因此来学习一下。 概述 原生的tensorflow 是各种东西都需要自己手动,如果是小规模的训练问题倒是不大,但是如果是训练的数据量比较大,可能需要训练几天或者几个月。。。 那原生的tensorflow的健壮性可能就比较堪忧。。。 万一断电了之类。。。 这时候我们就可以使用supervisor 其主要提供下面三个功能,以增强训练的健壮性: * Handles shutdowns and crashes …
Read More -
Adding a New Op * [目录](https://www.tensorflow.org/extend/adding_an_op#top_of_page) * [定义运算的接口](https://www.tensorflow.org/extend/adding_an_op#define_the_ops_interface) * [实现运算的核心部分(kernels)](https://www.tensorflow.org/extend/adding_an_op#implement_the_kernel_for_the_op) * [多线程cpu …
Read More -
这篇文章不会涉及tensorflow的具体使用,而是专注于介绍tensorflow的架构,目的是让开发者能够对tensorflow现有框架进行自定义的扩展。 tensorflow被设计用来处理大规模分布式训练,但是也足够灵活去处理新的machine learning模型或是系统层面的优化。 Overview tensorflow的结构图如下: 从下往上大致上抽象程度越来越高。 其中C API那一层将tensorflow底层的runtime core 封装成不同语言(python,cpp,etc)的用户层代码,并提供相应的接口 这篇文章主要侧重如下layer: * **Client**: * 将计算定义为数据流图. * …
Read More