W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
tf.QueueBase 函數(shù)
定義在:tensorflow/python/ops/data_flow_ops.py.
請(qǐng)參閱指南:輸入和讀取器>隊(duì)列
隊(duì)列實(shí)現(xiàn)的基類.
一個(gè)隊(duì)列是一個(gè) TensorFlow 數(shù)據(jù)結(jié)構(gòu),它存儲(chǔ)了跨越多個(gè)步驟的張量,并公開(kāi)了對(duì)張量進(jìn)行入隊(duì)和出隊(duì)的操作.
每個(gè)隊(duì)列元素是一個(gè)或多個(gè)張量的元組,其中每個(gè)元組元素具有靜態(tài) dtype,并且可以具有靜態(tài)形狀.隊(duì)列實(shí)現(xiàn)支持處理單個(gè)元素的 enqueue 和 dequeue版本,同時(shí)支持入隊(duì)和出隊(duì)一批元素的版本.
見(jiàn) tf.FIFOQueue 和 tf.RandomShuffleQueue 了解該類的具體實(shí)現(xiàn)以及關(guān)于如何創(chuàng)建這個(gè)類的說(shuō)明.
__init__(
dtypes,
shapes,
names,
queue_ref
)
從隊(duì)列引用構(gòu)造一個(gè)隊(duì)列對(duì)象.
兩個(gè)可選的列表,shapes 和 names,它們必須具有與 dtypes(如果提供)相同的長(zhǎng)度,給定索引處的值 i 指示在 dtypes 中用于相應(yīng)隊(duì)列組件的形狀和名稱.
參數(shù):
可能發(fā)生的異常:
close(
cancel_pending_enqueues=False,
name=None
)
關(guān)閉這個(gè)隊(duì)列.
這個(gè)操作表明沒(méi)有更多的元素將被排入隊(duì)列.后續(xù) enqueue 和 enqueue_many 操作將失敗.如果足夠的元素保留在隊(duì)列中,后續(xù) dequeue 和 dequeue_many 操作將繼續(xù)成功.隨后 dequeue 和 dequeue_many 操作將立即失敗,否則會(huì)阻止等待更多的元素(如果關(guān)閉沒(méi)有被調(diào)用).
如果 cancel_pending_enqueues 是 True,所有待處理的請(qǐng)求也將被取消.
參數(shù):
返回:
關(guān)閉隊(duì)列的操作.
dequeue(name=None)
從此隊(duì)列中取出一個(gè)元素.
如果執(zhí)行此操作時(shí)隊(duì)列為空,則會(huì)阻塞隊(duì)列,直到出現(xiàn)一個(gè)元素.
在運(yùn)行時(shí),如果隊(duì)列 tf.QueueBase.close 在執(zhí)行之前或執(zhí)行期間,此操作可能會(huì)引發(fā)錯(cuò)誤.如果隊(duì)列關(guān)閉,則隊(duì)列為空,并且沒(méi)有未完成的隊(duì)列操作可以完成這個(gè)請(qǐng)求,tf.errors.OutOfRangeError 將會(huì)被觸發(fā).如果會(huì)話是 tf.Session.close,則 tf.errors.CancelledError 將被提出.
參數(shù):
返回:
已經(jīng)出列的張量元組.
dequeue_many(
n,
name=None
)
從此隊(duì)列中取出并連接 n 個(gè)元素.
該操作將隊(duì)列元素的分量張量沿第0維連接起來(lái),從而構(gòu)成一個(gè)單一的分量.取消元組中的所有組件都將在第0維度中具有 n 個(gè)大小.
如果隊(duì)列關(guān)閉,并且剩余的元素少于 n 個(gè),則會(huì)引發(fā) OutOfRange 異常.
在運(yùn)行時(shí),如果隊(duì)列 tf.QueueBase.close 在執(zhí)行之前或執(zhí)行期間,此操作可能會(huì)引發(fā)錯(cuò)誤.如果隊(duì)列關(guān)閉,則隊(duì)列中包含的元素少于 n 元素,并且沒(méi)有可以執(zhí)行此請(qǐng)求的未決隊(duì)列操作 tf.errors.OutOfRangeError 將被引發(fā).如果會(huì)話是 tf.Session.close,則 tf.errors.CancelledError 將被提出.
參數(shù):
返回:
被出列的連接的張量的元組.
dequeue_up_to(
n,
name=None
)
從此隊(duì)列中取出并連接 n 個(gè)元素.
注意此操作不受所有隊(duì)列支持.如果隊(duì)列不支持 DequeueUpTo,則會(huì)引發(fā) tf.errors.UnimplementedError.
該操作將隊(duì)列元素的分量張量沿第0維連接起來(lái),從而構(gòu)成一個(gè)單一的分量.如果隊(duì)列尚未關(guān)閉,則取消元組中的所有組件都將在第0維度中具有 n 個(gè)大小.
如果隊(duì)列被關(guān)閉,并且剩余的元素多于 0 但少于 n 個(gè)元素,那么不是像 tf.QueueBase.dequeue_many 元素一樣引發(fā) tf.errors.OutOfRangeError ,而是 n 個(gè)元素立即返回.如果隊(duì)列被關(guān)閉,并且隊(duì)列中有 0 元素,則會(huì)像在 dequeue_many 中一樣引發(fā) tf.errors.OutOfRangeError.否則,該行為與 dequeue_many 相同.
參數(shù):
返回:
取消的串聯(lián)張量的元組.
enqueue(
vals,
name=None
)
將一個(gè)元素排入此隊(duì)列.
如果執(zhí)行此操作時(shí)隊(duì)列已滿,則它將阻塞,直到該元素已被列入隊(duì)列.
在運(yùn)行時(shí),如果隊(duì)列 tf.QueueBase.close 在執(zhí)行之前或執(zhí)行期間,此操作可能會(huì)引發(fā)錯(cuò)誤.如果在該操作運(yùn)行之前隊(duì)列被關(guān)閉,tf.errors.CancelledError 將會(huì)被引發(fā).如果此操作被阻止,并且 有這兩種情況:(a) 隊(duì)列由關(guān)閉操作關(guān)閉,cancel_pending_enqueues=True,或(b)所述會(huì)話是 tf.Session.close,則 tf.errors.CancelledError 將提高.
參數(shù):
返回:
將新的張量元組排入隊(duì)列的操作.
enqueue_many(
vals,
name=None
)
將零個(gè)或多個(gè)元素列入此隊(duì)列.
此操作將每個(gè)組件張量沿第0維度切片,以創(chuàng)建多個(gè)隊(duì)列元素.vals 中的所有張量必須在第0維度中具有相同的大小.
如果執(zhí)行此操作時(shí)隊(duì)列已滿,則它將阻塞,直到所有元素均已排隊(duì).
在運(yùn)行時(shí),如果隊(duì)列 tf.QueueBase.close 在執(zhí)行之前或執(zhí)行期間,此操作可能會(huì)引發(fā)錯(cuò)誤.如果在該操作運(yùn)行之前隊(duì)列被關(guān)閉,將引發(fā) tf.errors.CancelledError.如果此操作被阻止,并且會(huì)有兩種情況:要么(a)所述隊(duì)列由與關(guān)閉操作關(guān)閉cancel_pending_enqueues=True,或(b)所述會(huì)話是 tf.Session.close,則 tf.errors.CancelledError 將提高.
參數(shù):
返回:
將一批張量元組排入隊(duì)列的操作.
@staticmethod
from_list(
index,
queues
)
從 queues[index] 使用隊(duì)列引用創(chuàng)建一個(gè)隊(duì)列.
參數(shù):
返回:
一個(gè) QueueBase 對(duì)象.
可能引發(fā)的異常:
is_closed
is_closed(name=None)
如果隊(duì)列關(guān)閉,則返回 true.
如果隊(duì)列已關(guān)閉,則此操作返回 true,如果隊(duì)列已打開(kāi),則返回 false.
參數(shù):
返回:
如果隊(duì)列已關(guān)閉,則為 true;如果隊(duì)列已打開(kāi),則為 false.
size(name=None)
計(jì)算此隊(duì)列中的元素?cái)?shù)量.
參數(shù):
返回:
包含此隊(duì)列中元素?cái)?shù)量的標(biāo)量張量.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: