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