本文是在使用tensorflow进行开发的过程中学习到的一些技巧的总结
1.gfile
Tensorflow中使用gfile 可以无锁的读取文件.
2.*list
zip wants a bunch of arguments to zip together, but what you have is a single argument (a list, whose elements are also lists). The * in a function call "unpacks" a list (or other iterable), making each of its elements a separate argument. So without the *, you're doing zip( [[1,2,3],[4,5,6]] ). With the *, you're doing zip([1,2,3], [4,5,6]).
3. couter.items()
this function returns a list with tuples as its elements
4 list(tuple)
returns 2 lists surprisingly with all 1st elems as 1st list and 2nd elems as 2nd list
5 tf.identiy的意义
主要参考的是这篇博客.简单来说,identity 和control_dependencies这两个方法始终是同时使用的,我们想要获得identy的返回值代表的tensor值,但是必须得在执行完control_dependencies 方法之后猜获取.
对我而言,这个部分的理解的难点在于,y=x和y=tf.identity(x)的区别.前者是给变量x起了个别名,后者是复制出来一个新的变量.
6. control_dependencies
这个函数是一个依赖管理器,当输入参数和内容都是op的时候,必须先把输入参数中的op执行了,才能执行内容中的op
7.数据输入
根据官方的教程,我们能够发现有至少三种输入方式.本文在这里仅仅介绍比较复杂的文本输入和队列输入机制.
8.range_input_producer
这玩意是队列的一种,而队列是tensorflow的输入中最重要的一环.需要注意,所有对队列有依赖的操作,每次dequeue都会得到新的数.实现的机制,其实就是最基本的那一句话.每一个操作的eval都会把所有的依赖操作eval
9.flags
主要用于在命令行启动程序时传递参数