记录 之 tensorflow 常用函数:tf.split(),tf.clip_by_value() 和 tf.cond()
生活随笔
收集整理的這篇文章主要介紹了
记录 之 tensorflow 常用函数:tf.split(),tf.clip_by_value() 和 tf.cond()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.tf.split(axis, num_or_size_splits,value)
該函數是通道拆分函數,將原來的的多通道tensor,拆分為單通道
axis:拆分的維度
num_or_size_splits:拆分為幾份
value:需要拆分的tensor
實例:
import tensorflow as tfa = tf.random_uniform((4,2,3))c1,c2,c3 = tf.split(axis = 2, num_or_size_splits = 3, value = a)sess = tf.Session()print(sess.run(a))print(sess.run(c1))ouptut: >>>[[[0.0217129 0.0620898 0.9197613 ][0.00816453 0.26460588 0.45891762]][[0.5298958 0.92715514 0.9984776 ][0.8907709 0.3258146 0.7756392 ]][[0.20484614 0.7365011 0.8002026 ][0.8510926 0.44176805 0.10259783]][[0.53181267 0.49676466 0.527159 ][0.07174098 0.03045177 0.8065448 ]]]>>>[[[0.0217129 ][0.00816453 ]][[0.5298958 ][0.8907709 ]][[0.20484614 ][0.8510926 ]][[0.53181267 ][0.07174098 ]]]值得注意的是,num_or_size_splits必須能被選中的(axis = ‘’)維度的維度值整除,不然會報錯。
2.tf.clip_by_value(image, min, max)
該函數是將張量中小于min的值取min,大于max的取max
實例:
import tensorflow as tfa = tf.constant([-1,0,0.5,1,1.1])o1 = tf.clip_by_value(a,0.0,1.0)sess = tf.Session()print(sess.run(o1))output: >>>[0. 0. 0.5 1. 1. ]3.tf.cond()
類似if....else....的分支結構
函數原型:cond ( pred , true_fn = None , false_fn = None , strict = False , name = None , fn1 = None , fn2 = None )
參數解釋:
- pred:標量決定是否返回 true_fn 或 false_fn 結果.
- true_fn:要調用的已定義的函數,如果 pred 為 true,則被調用.
- false_fn:要調用的已定義的函數,如果 pred 為 false,則被調用.
- strict:啟用/禁用 “嚴格”模式的布爾值.
- name:返回的張量的可選名稱前綴.
實例:
do_it = tf.less(tf.random_uniform([]), probability) image = tf.cond(do_it, lambda: manipulate(image), lambda: image)?
總結
以上是生活随笔為你收集整理的记录 之 tensorflow 常用函数:tf.split(),tf.clip_by_value() 和 tf.cond()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录 之 tensorflow中几个常用
- 下一篇: 记录 之 tensorflow函数:tf