tensorflow基础知识
Posted 执剑长老
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow基础知识相关的知识,希望对你有一定的参考价值。
1、tensor
2、constant
constant保存在graph中,如果graph重复载入那么constant也会重复载入,其非常浪费资源,如非必要尽量不使用其保存大量数据。
3、Variables
当训练模型时,需要使用Variables保存与更新参数。Variables会保存在内存当中,所有tensor一旦拥有Variables的指向就不会在session中丢失。其必须明确的初始化而且可以通过Saver保存到磁盘上。Variables可以通过Variables初始化。
Variables在每个session中都是单独保存的,甚至可以单独存在一个参数服务器上。
3.1 初始数据生成方法
3.2 初始化
实际在其初始化过程中做了很多的操作,比如初始化空间,赋初值(等价于tf.assign),并把Variable添加到graph中等操作。注意在计算前需要初始化所有的Variable。
一般会在定义graph时定义global_variables_initializer,其会在session运算时初始化所有变量。直接调用global_variables_initializer会初始化所有的Variable,如果仅想初始化部分Variable可以调用tf.variables_initializer。
Variables可以通过eval显示其值,也可以通过assign进行赋值。
示例:
Init_ab = tf.variables_initializer([a,b],name=”init_ab”) #
4、 placeholders与feed_dict
定义一张graph时,有时候并不知道需要计算的值,比如模型的输入数据,其只有在训练与预测时才会有值。这时就需要placeholder与feed_dict的帮助。
定义一个placeholder,可以使用:
tf.placeholder(dtype,shape=None,name=None) ##
注意事项
命名
尽量每一个变量都明确的命名,这样易于管理命令空间,而且在导入模型的时候不会造成不同模型之间的命名冲突,这样就可以在一张graph中容纳很多个模型。
以上是关于tensorflow基础知识的主要内容,如果未能解决你的问题,请参考以下文章
学习TF:《TensorFlow技术解析与实战》PDF+代码