W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
case ( pred_fn_pairs , default , exclusive = False , strict = False , name = 'case' )
定義在:tensorflow/python/ops/control_flow_ops.py
參見(jiàn)指南:控制流程>控制流程操作
創(chuàng)建案例操作.
pred_fn_pairs 參數(shù)是字典或大小對(duì)的列表.每對(duì)都包含一個(gè)布爾標(biāo)量張量和一個(gè)可調(diào)用的 python, 如果布爾計(jì)算結(jié)果為 True, 則創(chuàng)建要返回的數(shù)量.默認(rèn)值是一個(gè)可調(diào)用的生成張量列表.pred_fn_pairs 中的所有 callables 以及默認(rèn)值都應(yīng)返回相同的張量和類(lèi)型.
如果 exclusive = = true, 則計(jì)算所有謂詞, 如果有多個(gè)謂詞的計(jì)算結(jié)果為 true, 則引發(fā)異常.如果 exclusive = = False, 則執(zhí)行停止是計(jì)算結(jié)果為 True 的第一個(gè)謂詞, 并立即返回相應(yīng)函數(shù)生成的張量.如果沒(méi)有任何謂詞計(jì)算為 True, 則此操作返回默認(rèn)情況下生成的張量.
tf.case 支持在 tensorflow.python.util.nest 中實(shí)現(xiàn)的嵌套結(jié)構(gòu).所有的 callables 必須返回列表、元組和/或命名元組的相同 (可能是嵌套的) 值結(jié)構(gòu).單例列表和元組是唯一的例外: 當(dāng)由可調(diào)用返回時(shí), 它們被隱式解壓到單個(gè)值.通過(guò) strict = True 來(lái)禁用此行為.
如果使用無(wú)序字典 pred_fn_pairs, 則不保證條件測(cè)試的順序.但是, 該順序保證是確定性的, 以便在條件分支中創(chuàng)建的變量在運(yùn)行時(shí)按固定順序創(chuàng)建.
示例1:偽碼:
if (x < y) return 17; else return 23;
表達(dá)式:
f1 = lambda: tf.constant(17) f2 = lambda: tf.constant(23) r = case([(tf.less(x, y), f1)], default=f2)
示例2:偽碼:
if (x < y && x > z) raise OpError("Only one predicate may evaluate true"); if (x < y) return 17; else if (x > z) return 23; else return -1;
表達(dá)式:
def f1(): return tf.constant(17) def f2(): return tf.constant(23) def f3(): return tf.constant(-1) r = case({tf.less(x, y): f1, tf.greater(x, z): f2}, default=f3, exclusive=True)
由謂詞計(jì)算為 True 的第一對(duì)返回的張量,或者默認(rèn)情況下返回的張量 (如果沒(méi)有).
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: