tensorflow中的control_flow_ops.switch函式介紹
阿新 • • 發佈:2018-11-09
tensorflow中的control_flow_ops模組屬於tensorflow.python.ops中的一個模組,從switch函式的名稱上看就是一個開關函式。
函式:control_flow_ops.switch(data,pred,dtype=None,name=None)
功能:用來選擇資料的輸出通道,如果pred為False則data從第一個輸出,如果pred為True則資料從第二個輸出
引數:
- data:需要被選擇輸出的tensor資料
- pred:bool型別用來選擇data的輸出通道
- dtype:可選,用來設定返回tensor的資料型別,如果為None則輸出tensor的資料型別與輸入tensor型別保持一致
name:操作名稱
返回值:(output_false,output_true),如果pred為true就輸出output_true,如果pred為false就輸出output_false
import tensorflow as tf from tensorflow.python.ops import control_flow_ops if __name__ == "__main__": with tf.Session() as sess: output_false,output_true = control_flow_ops.switch([1,2,3,4],False) print(output_false.eval()) output_false,output_true = control_flow_ops.switch([5,6,7,8],True) print(output_true.eval())
注意:如果輸出通道與選擇的輸出通道不統一會報錯,tensorflow.python.framework.errors_impl.InvalidArgumentError: Retval[0] does not have value
output_false,output_true = control_flow_ops.switch([1,2,3,4],False)
print(output_true.eval())