2018-06-21-tensorflow-开发技巧罗列

本文是在使用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

  主要用于在命令行启动程序时传递参数

你可能感兴趣的:(2018-06-21-tensorflow-开发技巧罗列)