Tensorflow 常用函數解說

tf.split(split_dim, num_split, value, name='split')

函數解說:將大的tensor分割成更小的tensor,第一個參數代表沿著那一維開始分割,第二個參數代表切成幾段,如下面例子,「5,30」沿著第一維也就是column開始切割,切成三段,因此就有3個「5,10」的tensor被分割出來

 

函數範例:

 

tf.reduce_mean(input_tensor,reduction_indices=None,keep_dims=False, name=None)

 

函數解說:將tensor取平均,第二個參數代表沿著那一維取平均,例如範例第二個,沿著第0維也就是row取平均得到「1.5,1.5」,手指沿著row的方向掃過,再如第3個範例,沿著第1維也就是column取平均得到[1,2],手指沿著column方向掃過

 

函數範例:

 

tf.reduce_sum(input_tensor,reduction_indices=None, keep_dims=False, name=None)

函數解說:將tensor加總起來,第二個參數代表沿著那一維加總,例如範例第二個,沿著第0維也就是row加總得到[2,2,2],手指沿著row的方向掃過,再如第3個範例,沿著第1維也就是column加總得到[3,3],手指沿著column方向掃過,第3個參數如果為True的話,那麼所切出來的長度會回復到1,如同第四個例子一樣,第五個例子表示可以不只沿著其中一個維度加總。

 

函數範例:

 

tf.reshape(tensor, shape, name=None)

函數解說:將tensor的維度重新改寫,-1代表自動計算該維度的數量

 

函數範例:

 

tf.matmul(a,b,ranspose_a=False,transpose_b=False,_is_sparse=False,_is_sparse=False,ame=None)

函數解說:將a,b兩個矩陣相乘,如果需要事先轉置的話,可以把個別的選項調成True,如果矩陣裏面包括很多0的話,可以調用spare=True轉為更有效率的演算法

 

函數範例:

 

tf.argmin(input, dimension, name=None)

函數解說:沿著需要的維度找尋最小值的索引值,最小由0開始

 

tf.mul(x, y, name=None)

函數解說:實現兩個矩陣點乘,兩個矩陣必須要相同維度

 

tf.one_hot(indices, depth, on_value=None, off_value=None, axis=None, dtype=None, name=None)

函數解說:沿著需要的深度製造出one_hot出來,-1代表全都給off_value,indices代表在那一格給on_value

0 2          -------->[1 0 0]    [0 0 1]

1 -1                     [0 1 0]    [0 0 0]

函數範例:

 

tf.cast(x, dtype, name=None)

函數解說:將tensor轉換成其他type

 

函數範例:

 

 

tf.Variable.eval(session=None)

函數解說:顯示出某個tensor變數的值

 

函數範例:

 

 

tf.Variable.assign(value, use_locking=False)

函數解說:將tensor中的變數用value值取代,這function可以用來實現double DQN

 

tf.Variable.assign_sub(delta, use_locking=False)

函數解說:將tensor中的變數-delta值,然後取代

 

tf.train.Saver.save(sess,save_path,global_step=None,latest_filename=None,meta_graph_suffix='meta',write_meta_graph=True)

函數解說:將sess中的訓練參數存起來,一般都會先把前面縮寫,打成saver = tf.train.Saver(),然後以後就可以用saver直接調用

 

函數範例:


 

tf.train.Saver.restore(sess, save_path)

函數解說:用剛剛存sess的網路回復數據,save_path 沒有打的話會自動去找尋最近一次save所存的latest_checkpoint()

 

tf.train.get_checkpoint_state(checkpoint_dir,latest_filename=None)

函數解說:檢查checkpoint_dir資料夾中有無checkpoint這個資料,如果有,回傳checkpoint的資訊給它,底下是範例checkpoint檔案

 

 

tf.trainable_variables()

函數解說:回傳trainable=True的所有變數,並存成list的型態

 

函數說明:

 

以此網路為說明,v是一個list,如需要觀察各個變數的話,需要給出索引值才可取出,變數以兩兩為一組合,前面代表weight,後面代表bias


 


 

輸出為:

 

 

tf.concat(concat_dim, values, name='concat')

函數解說:將兩個tensor 連接在一起,dim=0代表從row開始連接起,1代表從col連接起

 

函數說明:

 

t1 = [[1, 2, 3], [4, 5, 6]]
t2 = [[7, 8, 9], [10, 11, 12]]
tf.concat(0, [t1, t2]) ==> [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
tf.concat(1, [t1, t2]) ==> [[1, 2, 3, 7, 8, 9], [4, 5, 6, 10, 11, 12]]

# tensor t3 with shape [2, 3]
# tensor t4 with shape [2, 3]
tf.shape(tf.concat(0, [t3, t4])) ==> [4, 3]
tf.shape(tf.concat(1, [t3, t4])) ==> [2, 6]

arrow
arrow
    創作者介紹
    創作者 Darwin的AI天地 的頭像
    Darwin的AI天地

    我的小小AI 天地

    Darwin的AI天地 發表在 痞客邦 留言(1) 人氣()