1. 程式人生 > >TensorFlow中一些常用的函式

TensorFlow中一些常用的函式

一、tf.trainable_variables

返回所有 當前計算圖中 在獲取變數時未標記 trainable=False 的變數集合。【可用來更新所有引數時使用】

二、tf.control_dependencies(control_inputs):

此函式指定某些操作執行的依賴關係

返回一個控制依賴的上下文管理器,使用 with 關鍵字可以讓在這個上下文環境中的操作都在 control_inputs 執行

1 with tf.control_dependencies([a, b]):
2     c = ....
3     d = ...

在執行完 a,b 操作之後,才能執行 c,d 操作。意思就是 c,d 操作依賴 a,b 操作

1 with tf.control_dependencies([train_step, variable_averages_op]):
2     train_op = tf.no_op(name='train')

tf.no_op():表示執行完 train_step, variable_averages_op 操作之後什麼都不做

三、tf.group:

用於創造一個操作,可以將傳入引數的所有操作進行分組,返回也是一個操作。

ops = tf.group(tensor1, tensor2,...)
其中*inputs是0個或者多個用於組合tensor,一旦ops完成了,那麼傳入的tensor1,tensor2,...

等等都會完成了,經常用於組合一些訓練節點,

tf.control_dependencies和tf.group兩種機制可以用來實現一次完成多個操作。如以下兩個程式是等價的:【為了一次實現train_step, variable_averages_op兩個操作】

with tf.control_dependencies([train_step, variable_averages_op]):

        train_op = tf.no_op(name='train')

############################################

train_op 
= tf.group(train_step,variables_averages_op)

四、tf.cast()

cast(
    x,
    dtype,
    name=None
)

將x的資料格式轉化成dtype.例如,原來x的資料格式是bool, 
那麼將其轉化成float以後,就能夠將其轉化成0和1的序列。反之也可以。