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