W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
PaddingFIFOQueue
繼承自: QueueBase
定義在:tensorflow/python/ops/data_flow_ops.py。
FIFOQueue,支持通過填充批處理可變大小的張量。
PaddingFIFOQueue可能包含具有動(dòng)態(tài)形狀的組件,同時(shí)也支持dequeue_many。
__init__
__init__(
capacity,
dtypes,
shapes,
names=None,
shared_name=None,
name='padding_fifo_queue'
)
創(chuàng)建一個(gè)隊(duì)列,以先進(jìn)先出順序?qū)⒃爻隽小?/p>
具有有限容量的PaddingFIFOQueue;支持多個(gè)并發(fā)生產(chǎn)者和使用者;并提供準(zhǔn)確的一次交付。
PaddingFIFOQueue包含最多capacity元素的列表。每個(gè)元素都是一個(gè)固定長度的張量元組,其dtypes由dtypes描述,其形狀由shapes參數(shù)描述。
所述shapes參數(shù)必須指定;queue元素的每個(gè)組件必須具有相應(yīng)的形狀。通過將任何shape維度設(shè)置為None,允許固定秩但可變維度的shape。在這種情況下,輸入的shape可能會(huì)沿著給定的維度變化,并且dequeue_many將使用零填充給定的維度,直到給定批處理中所有元素的最大shape。
參數(shù):
可能引發(fā)的異常:
dtypes
queue元素的每個(gè)組件的dtypes列表。
name
底層隊(duì)列的名稱。
names
queue元素的每個(gè)組件的names列表。
queue_ref
底層隊(duì)列引用。
shapes
queue元素的每個(gè)組件的shapes列表。
close
close(
cancel_pending_enqueues=False,
name=None
)
關(guān)閉此隊(duì)列。
此操作表示在給定隊(duì)列中不再有元素排隊(duì)。隨后enqueue和enqueue_many 操作將失敗。如果隊(duì)列中仍有足夠的元素,則后續(xù)的dequeue和dequeue_many操作將繼續(xù)成功。隨后的dequeue和dequeue_many操作會(huì)阻止等待更多元素(如果沒有調(diào)用close)將立即失敗。
如果cancel_pending_enqueues是True,所有待處理的請(qǐng)求也將被取消。
參數(shù):
返回:
關(guān)閉隊(duì)列的操作。
dequeue
dequeue(name=None)
從此隊(duì)列中取消一個(gè)元素。
如果在執(zhí)行此操作時(shí)隊(duì)列為空,則它將阻塞,直到有一個(gè)要出隊(duì)的元素。
在運(yùn)行時(shí),如果隊(duì)列在執(zhí)行之前或期間是tf.QueueBase.close,則此操作可能會(huì)引發(fā)錯(cuò)誤。如果隊(duì)列已關(guān)閉,則隊(duì)列為空,并且沒有可以滿足此請(qǐng)求的待處理入隊(duì)操作,將引發(fā)tf.errors.OutOfRangeError。如果會(huì)話是tf.Session.close,則會(huì)引發(fā)tf.errors.CancelledError。
參數(shù):
返回:
已經(jīng)出列的張量元組。
dequeue_many
dequeue_many(
n,
name=None
)
從此隊(duì)列中出列并連接n元素。
此操作沿第0維連接隊(duì)列元素組件張量,以生成單個(gè)組件張量。出列元組中的所有組件在第0維中的大小為n。
如果隊(duì)列已關(guān)閉且剩余的元素少于n,則會(huì)引發(fā) OutOfRange異常。
在運(yùn)行時(shí),如果隊(duì)列在執(zhí)行之前或期間是tf.QueueBase.close,則此操作可能會(huì)引發(fā)錯(cuò)誤。如果隊(duì)列關(guān)閉,則隊(duì)列包含的元素少于n個(gè),并且沒有可以滿足此請(qǐng)求的待處理入隊(duì)操作,將引發(fā)tf.errors.OutOfRangeError。如果會(huì)話是tf.Session.close,則會(huì)引發(fā)tf.errors.CancelledError。
參數(shù):
返回:
已出列的連接張量列表。
dequeue_up_to
dequeue_up_to(
n,
name=None
)
從此隊(duì)列中出列并連接n個(gè)元素。
注意所有隊(duì)列都不支持此操作。如果隊(duì)列不支持DequeueUpTo,則將引發(fā)tf.errors.UnimplementedError。
此操作沿第0維連接隊(duì)列元素組件張量,以生成單個(gè)組件張量。如果隊(duì)列尚未關(guān)閉,則出列元組中的所有組件將在第0維中具有大小n。
如果隊(duì)列已關(guān)閉并且剩余的元素?cái)?shù)量多于0但少于n,則不會(huì)像tf.QueueBase.dequeue_many那樣引發(fā)tf.errors.OutOfRangeError,而是立即返回少于n個(gè)元素。如果隊(duì)列已關(guān)閉且隊(duì)列中剩余0個(gè)元素,則會(huì)引發(fā)tf.errors.OutOfRangeError,就像在dequeue_many中一樣。 否則行為與dequeue_many相同。
參數(shù):
返回:
已經(jīng)出列的連接張量的元組。
enqueue
enqueue(
vals,
name=None
)
將一個(gè)元素排入此隊(duì)列。
如果在執(zhí)行此操作時(shí)隊(duì)列已滿,則它將阻塞,直到該元素已入隊(duì)。
在運(yùn)行時(shí),如果隊(duì)列在執(zhí)行之前或期間是tf.QueueBase.close,則此操作可能會(huì)引發(fā)錯(cuò)誤。如果在此操作運(yùn)行之前關(guān)閉隊(duì)列,則將引發(fā)tf.errors.CancelledError。如果此操作被阻止,并且(i)通過cancel_pending_enqueues = True的關(guān)閉操作關(guān)閉隊(duì)列,或者(ii)會(huì)話為tf.Session.close,則將引發(fā)tf.errors.CancelledError。
參數(shù):
返回:
將新元組的張量排入隊(duì)列的操作。
enqueue_many
enqueue_many(
vals,
name=None
)
將零個(gè)或多個(gè)元素排入此隊(duì)列。
此操作沿著第0維度切割每個(gè)組件張量以生成多個(gè)隊(duì)列元素。val中的所有張量在第0維中必須具有相同的大小。
如果在執(zhí)行此操作時(shí)隊(duì)列已滿,它將阻塞,直到所有元素都已入隊(duì)。
在運(yùn)行時(shí),如果隊(duì)列在執(zhí)行之前或期間是tf.QueueBase.close,則此操作可能會(huì)引發(fā)錯(cuò)誤。如果在此操作運(yùn)行之前關(guān)閉隊(duì)列,則將引發(fā)tf.errors.CancelledError。如果此操作被阻止,并且(i)通過cancel_pending_enqueues = True的關(guān)閉操作關(guān)閉隊(duì)列,或者(ii)會(huì)話為tf.Session.close,則將引發(fā)tf.errors.CancelledError。
參數(shù):
返回:
將一批張量的元組排入隊(duì)列的操作。
from_list
from_list(
index,
queues
)
使用queues[index]中的隊(duì)列引用創(chuàng)建隊(duì)列。
參數(shù):
返回:
一個(gè)QueueBase對(duì)象。
可能引發(fā)的異常:
is_closed
is_closed(name=None)
如果隊(duì)列關(guān)閉,則返回true。
如果隊(duì)列關(guān)閉,則此操作返回true,如果隊(duì)列打開,則返回false。
參數(shù):
返回:
如果隊(duì)列已關(guān)閉則為True,如果隊(duì)列已打開則為false。
size
size(name=None)
計(jì)算此隊(duì)列中的元素?cái)?shù)。
參數(shù):
返回:
標(biāo)量張量,包含此隊(duì)列中的元素?cái)?shù)。
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)系方式:
更多建議: