1. 程式人生 > >tensorflow基礎知識

tensorflow基礎知識

輸入數據 variables flow ant type sign logs 3.2 賦值

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基礎知識