W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本節(jié)將對 TensorFlow 中與 Assert 相關(guān)的函數(shù)進(jìn)行具體的舉例說明,斷言給定條件的真假與條件中持有的元素.該部分的內(nèi)容比較的多,涉及到的函數(shù)有:tf.Assert、tf.assert_equal、tf.assert_greater、tf.assert_less等等,一些更為深入的函數(shù),下面會一一作出簡單的介紹,在使用這些函數(shù)的時(shí)候要注意分辨各個(gè)變量的使用.
Assert (
condition ,
data ,
summarize = None ,
name = None
)
定義在tensorflow/python/ops/control_flow_ops.py
請參閱指南:控制流程>調(diào)試操作
斷言給定條件為真.
如果 condition 的結(jié)果為假,請打印 data 中的張量列表,summarize 用來確定要打印的張量的條目數(shù)量.
注意:為了確保斷言執(zhí)行,通常會附加依賴關(guān)系:
#確保X的最大元素小于或等于1個(gè)
assert_op = tf.Assert(tf.less_equal (tf.reduce_max ( X ), 1 .), [ X ] )
with tf.control_dependencies ([assert_op ] ):
...code using X ...
注意應(yīng)使用此函數(shù)的輸出.如果不是, 則會記錄一個(gè)警告.若要將輸出標(biāo)記為已用, 請調(diào)用其. mark_used () 方法.
assert_equal (
x ,
y ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py
參見指南:assert和布爾檢查
斷言條件 x == y 包含的元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_equal (x ,y)] ):
output = tf.reduce_sum (x)
如果對于每對(可能廣播)元素 x[i],y[i] 來說該條件成立,我們有 x[i] == y[i].如果 x 和 y 都是空的,這很容易滿足.
如果 x = = y 為 False, 則引發(fā) InvalidArgumentError 的操作.
assert_greater (
x ,
y ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py
參見指南:assert和布爾檢查
斷言條件 x > y 包含的元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([ tf . assert_greater (x , y)] ):
output = tf.reduce_sum (x)
如果對于每對(可能廣播)元素 x[i],y[i],該條件成立的話,我們有 x[i] > y[i].如果 x 和 y 是空的,這很容易滿足.
如果 x > y 是 False ,則引發(fā) InvalidArgumentError 的操作.
assert_greater_equal (
x ,
y ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在tensorflow/python/ops/check_ops.py
參見指南:assert和布爾檢查
斷言條件 x >= y 包含的元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_greater_equal ( x ,y)] ):
output = tf.reduce_sum (x)
如果對于每對(可能廣播)元素 x[i],y[i],這個(gè)條件成立,則有 x[i] >= y[i].如果 x 和 y 是空的,這很容易滿足.
如果 x >= y 是 False ,則引起 InvalidArgumentError 的操作.
assert_integer (
x ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言 x 是整數(shù) dtype.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_integer (x)] ):
output = tf.reduce_sum (x)
返回一個(gè) no_op,它什么也不做,類型可以被定義為靜態(tài)的.
assert_less (
x ,
y ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言條件 x < y 持有的元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_less (x,y)]): output= tf.reduce_sum ( x )
如果對于每對(可能廣播)元素 x[i],y[i],我們有 x[i] < y[i].如果 x 和 y 都是空的,則很容易滿足條件.
如果 x < y 是 False ,則引起 InvalidArgumentError 的操作.
assert_less_equal (
x ,
y ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言條件 x <= y 的持有元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_less_equal (x,y)] ):
output=tf.reduce_sum(x)
這種情況下,如果對于每對(可能廣播)元素 x[i],y[i], 我們有 x[i] <= y[i].如果 x 和 y 都是空的,該條件很容易滿足.
如果 x <= y 是 False ,則引起 InvalidArgumentError 的操作.
assert_negative (
x ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言條件 x < 0 的持有元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([ tf.assert_negative(x)] ):
output = tf.reduce_sum(x)
Negative 的意思是對 x 的每個(gè)元素x[i] ,我們有 x[i] < 0.如果 x 是空的,該條件很容易滿足.
提高 InvalidArgumentError 的操作,除非x全部為負(fù).
assert_none_equal (
x ,
y ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在tensorflow/python/ops/check_ops.py.
斷言 x != y 適用于所有元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_none_equal (x,y)] ):
output = tf.reduce_sum (x)
這種情況下,如果對于每對(可能廣播)元素 x[i],y[i],我們有x[i] != y[i].如果 x 和 y 都是空的,該條件很容易滿足.
如果x != y永遠(yuǎn)是虛假的話,提高 InvalidArgumentError 的操作.
assert_non_negative (
x ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言條件 x >= 0 的持有元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_non_negative (x)]):
output = tf.reduce_sum(x)
Non_negative 的意思是,對于 x 的每個(gè)元素 x[i] ,我們有 x[i] >= 0.如果 x 是空的,該條件很容易滿足.
提高 InvalidArgumentError 的操作,除非 x 都是是非負(fù)的.
assert_non_positive (
x ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言條件x <= 0保持元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([ tf.assert_non_positive (x)] ): output = tf.reduce_sum (x)
Non-positive的意思是,對于每個(gè)元素 x[i],我們有 x[i] =0.如果 x 是空的,該條件很容易滿足.
提高 InvalidArgumentError 的操作,除非 x 都是非正的.
assert_positive (
x ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言條件x > 0保持元素.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_positive(x)]):
output = tf.reduce_sum (x)
Positive 的意思是,對于 x 的每一個(gè)元素 x[i],我們有 x[i] > 0.如果x是空的,該條件很容易成立.
提高 InvalidArgumentError 的操作,除非 x 都是正的.
assert_proper_iterable (values)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
靜態(tài)斷言值是“適當(dāng)?shù)摹钡?
期望張量可以迭代的 Ops 可以調(diào)用它來驗(yàn)證輸入.由于張量、ndarray、byte / text 類型都是 iterables 本身,所以是有用的.
assert_rank (
x ,
rank ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言 x 的秩等于秩.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([ tf.assert_rank( X , 2 )] ):
output = tf.reduce_sum ( x )
提高 InvalidArgumentError 的操作,除非 x 已經(jīng)有指定的秩.如果靜態(tài)檢查確定 x 具有正確的秩,則返回 no_op.
assert_rank_at_least (
x ,
rank ,
data = None ,
summarize = None ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
斷言 x 具有相等的秩或者更高的秩.
向操作添加依賴關(guān)系的示例:
with tf.control_dependencies ([tf.assert_rank_at_least(X ,2 )] ):
output = tf.reduce_sum ( x )
提高 InvalidArgumentError 的操作,除非 x 已經(jīng)指定秩或更高.如果靜態(tài)檢查確定 x 具有正確的秩,則返回 no_op.
assert_same_float_dtype (
Tensors = None,
dtype = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:框架(contrib)
根據(jù)張量和 dtype 驗(yàn)證并返回浮點(diǎn)型.
對于諸如矩陣乘法的運(yùn)算,輸入和權(quán)重必須是相同的浮點(diǎn)型.此函數(shù)驗(yàn)證所有的張量類型都是相同的,驗(yàn)證該類型是否為 dtype(如果提供),并返回類型.類型必須是浮點(diǎn)類型.如果既不提供張量也不提供 dtype,函數(shù)將返回 dtypes.float32.
驗(yàn)證類型.
assert_scalar (
tensor,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:框架(contrib)
assert_type (
tensor ,
tf_type ,
message = None ,
name = None
)
定義在:tensorflow/python/ops/check_ops.py.
參見指南:assert和布爾檢查
靜態(tài)斷言給定的張量是指定的類型.
返回 no_op,什么也不做.類型可以靜態(tài)確定.
assert_variables_initialized ( var_list = None )
定義在:tensorflow/python/ops/variables.py.
參見指南:變量>變量幫助函數(shù)
返回一個(gè) Op 以檢查變量是否已初始化.
注意:此函數(shù)已過時(shí),將在6個(gè)月內(nèi)刪除.請更改您的實(shí)現(xiàn)以使用 report_uninitialized_variables ().
運(yùn)行時(shí), 如果尚未初始化任何變量, 則返回的 Op 將引發(fā)異常 FailedPreconditionError.
注意:此函數(shù)通過嘗試獲取變量的值來實(shí)現(xiàn).如果其中一個(gè)變量未初始化,則可能會由C ++運(yùn)行時(shí)記錄消息,這在預(yù)料之中.
一個(gè) Op,如果沒有變量,則為 None.
注意:應(yīng)使用此函數(shù)的輸出.如果不是, 則會記錄一個(gè)警告.若要將輸出標(biāo)記為已用, 請調(diào)用其. mark_used () 方法.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: