1. 程式人生 > >tensorflow教程——tf.GraphKeys

tensorflow教程——tf.GraphKeys

2018年05月21日 22:16:02 閱讀數:317更多
個人分類: TensorFlow
GraphKeys
tf.GraphKeys包含所有graph collection中的標準集合名,有點像Python裡的build-in fuction。

首先要了解graph collection是什麼。

graph collection
在官方教程——圖和會話中,介紹什麼是tf.Graph是這麼說的:

tf.Graph包含兩類相關資訊:

圖結構。圖的節點和邊緣,指明瞭各個指令組合在一起的方式,但不規定它們的使用方式。圖結構與彙編程式碼類似:檢查圖結構可以傳達一些有用的資訊,但它不包含原始碼傳達的的所有有用上下文。
**圖集合。**TensorFlow提供了一種通用機制,以便在tf.Graph中儲存元資料集合。tf.add_to_collection函式允許您將物件列表與一個鍵相關聯(其中tf.GraphKeys定義了部分標準鍵),tf.get_collection則允許您查詢與鍵關聯的所有物件。TensorFlow庫的許多組成部分會使用它:例如,當您建立tf.Variable時,系統會預設將其新增到表示“全域性變數(tf.global_variables)”和“可訓練變數tf.trainable_variables)”的集合中。當您後續建立tf.train.Saver或tf.train.Optimizer時,這些集合中的變數將用作預設引數。
也就是說,在建立圖的過程中,TensorFlow的Python底層會自動用一些collection對op進行歸類,方便之後的呼叫。這部分collection的名字被稱為tf.GraphKeys,可以用來獲取不同型別的op。當然,我們也可以自定義collection來收集op。

常見GraphKeys
GLOBAL_VARIABLES: 該collection預設加入所有的Variable物件,並且在分散式環境中共享。一般來說,TRAINABLE_VARIABLES包含在MODEL_VARIABLES中,MODEL_VARIABLES包含在GLOBAL_VARIABLES中。
LOCAL_VARIABLES: 與GLOBAL_VARIABLES不同的是,它只包含本機器上的Variable,即不能在分散式環境中共享。
MODEL_VARIABLES: 顧名思義,模型中的變數,在構建模型中,所有用於正向傳遞的Variable都將新增到這裡。
TRAINALBEL_VARIABLES: 所有用於反向傳遞的Variable,即可訓練(可以被optimizer優化,進行引數更新)的變數。
SUMMARIES: 跟Tensorboard相關,這裡的Variable都由tf.summary建立並將用於視覺化。
QUEUE_RUNNERS: the QueueRunner objects that are used to produce input for a computation.
MOVING_AVERAGE_VARIABLES: the subset of Variable objects that will also keep moving averages.
REGULARIZATION_LOSSES: regularization losses collected during graph construction.
在TensorFlow中也定義了下面幾個GraphKeys,但是它們not automatically populated。

WEIGHTS
BIASES
ACTIVATIONS

相關推薦

tensorflow教程——tf.GraphKeys

2018年05月21日 22:16:02 閱讀數:317更多 個人分類: TensorFlow GraphKeys tf.GraphKeys包含所有graph collection中的標準集合名,有點像Python裡的build-in fuction。

tensorflowtf.GraphKeys

**圖集合。**TensorFlow提供了一種通用機制,以便在tf.Graph中儲存元資料集合。tf.add_to_collection函式允許您將物件列表與一個鍵相關聯(其中tf.GraphKeys定義了部分標準鍵),tf.get_collection則允許您查詢與鍵關聯的所有物件。TensorFlow庫的

[Tensorflow]L2正則化和collection【tf.GraphKeys

L2-Regularization 實現的話,需要把所有的引數放在一個集合內,最後計算loss時,再減去加權值。 相比自己亂搞,程式碼一團糟,Tensorflow 提供了更優美的實現方法。 一、tf.GraphKeys : 多個包含Variables(Tensor)集合  

tensorflow高階教程:tf.dynamic_rnn

轉自:https://blog.csdn.net/u010223750/article/details/71079036引言TensorFlow很容易上手,但是TensorFlow的很多trick卻是提升TensorFlow心法的法門,之前說過TensorFlow的read心

TensorFlowtf.nn.dropout():防止模型訓練過程中的過擬合問題

AC -- 輸出 array 全連接 spa () 激活 odin 一:適用範圍:   tf.nn.dropout是TensorFlow裏面為了防止或減輕過擬合而使用的函數,它一般用在全連接層 二:原理:   dropout就是在不同的訓練過程中隨機扔掉一部分神經元。也就是

新安裝完 tensorflow 後import tensorflow as tf 報錯

python>>> import tensorflow as tf/opt/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument

tensorFlowtf.reshape()報錯信息 - TypeError: Expected binary or unicode string

bject port cas inpu dimen div nts sof expec 今天在使用tensoflow跑cifar10的CNN分類時候,download一個源碼,但是報錯 TypeError: Failed to convert object of type

TensorFlowtf.nn.softmax_cross_entropy_with_logits的用法

white 交叉 none padding tomat ros true const cross 在計算loss的時候,最常見的一句話就是 tf.nn.softmax_cross_entropy_with_logits ,那麽它到底是怎麽做的呢? 首先明確一點,loss是代

tensorflow 教程 文字分類 IMDB電影評論

昨天配置了tensorflow的gpu版本,今天開始簡單的使用一下 主要是看了一下tensorflow的tutorial 裡面的 IMDB 電影評論二分類這個教程 教程裡面主要包括了一下幾個內容:下載IMDB資料集,顯示資料(將陣列轉換回評論文字),準備資料,建立模型(隱層設定,優化器和損失函式的配置),

TFtensorflowtf.app.run() 什麼意思?

tensorflow的程式中,在main函式下,都是使用tf.app.run()來啟動 檢視原始碼可知,該函式是用來處理flag解析,然後執行main函式,那麼flag解析是什麼意思呢?諸如這樣的: # tensorflow/tensorflow/python/platform/d

tensorflowtf.nn.l2_normalize與l2_loss的計算

1.tf.nn.l2_normalize   tf.nn.l2_normalize(x, dim, epsilon=1e-12, name=None)  上式:  x為輸入的向量;  dim為l2範化的維數,dim取值為0或0或1;  eps

tensorflow使用tf.keras.Mode寫模型並使用tf.data.Dataset作為資料輸入

單輸入,單輸出的model使用tf.data.Dataset作為資料輸入很方便,定義好資料的input和對應的label,組成一個tf.data.Dataset型別的變數,直接傳入由tf.keras.Model構成的模型進行model.fit即可,例如: a = tf.keras.l

Tensorflowtf.shape(a)和a.get_shape()的區別

一、tf.shape(a) 和 a.get_shape()比較 相同點:都可以得到tensor a 的尺寸 不同點:tf.shape(a)中a資料的型別可以是tensor,list,array,而a.get_shape()中的a的資料型別必須是tensor,且返回的是一個t

tensorflowtf.reduce_mean()和tf.reduce_sum()

一,tensorflow中有一類在tensor的某一維度上求值的函式。如: 求最大值tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None) 求平均值tf.reduce_mean(input

在iOS平臺上使用TensorFlow教程(下)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

tensorflowtf.random_normal和tf.truncated_normal的區別

tensorflow中tf.random_normal和tf.truncated_normal的區別 原創  2017年06月24日 15:31:01 9322 1、tf.truncated_normal使用方法 tf

Tensorflowtf.layers.dense()在RNN網路搭建中的使用

一般來說,tf.layers.dense()多用於CNN網路搭建時搭建全連線層使用。 但在RNN網路搭建,特別是涉及到用RNN做分類時,tf.layers.dense()可以用作RNN分類預測輸出。   分類預測輸出一般形式: 其中n_hidden為RNN cell的uni

Tensorflowtf.split() 與 tf.squeeze()

split( value, num_or_size_splits, axis=0, num=None, name='split' ) 輸入:  value: 輸入的tensor  num_or_size_splits: 如果是個整數

tensorflowtf.identity()

常與tf.control_dependencies(self, control_inputs)配合使用,只有當這個上下文管理器中的是一個操作時,control_inputs才會執行。 x = tf.Variable(0.0) x_plus_1 = tf.assign_add(x, 1)

tensorflowtf.get_variable()和tf.Variable()的區別

1.tf.Variable() tf.Variable(initial_value, trainable=True, collections=None, validate_shape=True, name=None) ##initial_value為變數的初始值 tf.get