通過隨機打亂張量創建批次。 (已棄用)
用法
tf.compat.v1.train.shuffle_batch(
tensors, batch_size, capacity, min_after_dequeue, num_threads=1, seed=None,
enqueue_many=False, shapes=None, allow_smaller_final_batch=False,
shared_name=None, name=None
)
參數
-
tensors
要入隊的張量列表或字典。 -
batch_size
從隊列中拉出的新批量大小。 -
capacity
一個整數。隊列中的最大元素數。 -
min_after_dequeue
出隊後隊列中的最小元素數,用於確保元素的混合級別。 -
num_threads
排隊的線程數tensor_list
。 -
seed
隊列中隨機洗牌的種子。 -
enqueue_many
tensor_list
中的每個張量是否是單個示例。 -
shapes
(可選)每個示例的形狀。默認為tensor_list
的推斷形狀。 -
allow_smaller_final_batch
(可選)布爾值。如果True
,如果隊列中剩餘的項目不足,則允許最終批次更小。 -
shared_name
(可選)如果設置,此隊列將在多個會話中以給定名稱共享。 -
name
(可選)操作的名稱。
返回
-
類型為
tensors
的張量列表或字典。
拋出
-
ValueError
如果shapes
未指定,並且無法從tensors
的元素中推斷出來。
警告:此函數已棄用。它將在未來的版本中刪除。更新說明:基於隊列的輸入管道已替換為 tf.data
。使用 tf.data.Dataset.shuffle(min_after_dequeue).batch(batch_size)
。
此函數將以下內容添加到當前 Graph
:
- 一個洗牌隊列,來自
tensors
的張量被排入隊列。 - 用於從隊列中創建批次的
dequeue_many
操作。 QueueRunner
到QUEUE_RUNNER
集合,用於將來自tensors
的張量排入隊列。
如果enqueue_many
是False
, tensors
則假定代表一個示例。形狀為 [x, y, z]
的輸入張量將作為形狀為 [batch_size, x, y, z]
的張量輸出。
如果enqueue_many
是True
, tensors
則假設代表一批樣本,其中第一個維度是按樣本索引的,並且tensors
的所有成員在第一個維度中應該具有相同的大小。如果輸入張量的形狀為 [*, x, y, z]
,則輸出的形狀為 [batch_size, x, y, z]
。
capacity
參數控製允許預取增加隊列的時間。
返回的操作是出隊操作,如果輸入隊列用盡,將拋出tf.errors.OutOfRangeError
。如果此操作正在提供另一個輸入隊列,則其隊列運行器將捕獲此異常,但是,如果在您的主線程中使用此操作,則您自己負責捕獲此異常。
例如:
# Creates batches of 32 images and 32 labels.
image_batch, label_batch = tf.compat.v1.train.shuffle_batch(
[single_image, single_label],
batch_size=32,
num_threads=4,
capacity=50000,
min_after_dequeue=10000)
注意:您必須確保 (i) shapes
參數被傳遞,或者 (ii) tensors
中的所有張量必須具有 fully-defined 形狀。如果這些條件都不成立,則會引發 ValueError
。
如果 allow_smaller_final_batch
為 True
,則當隊列關閉且沒有足夠的元素填充該批次時,將返回小於 batch_size
的批次值,否則將丟棄待處理的元素。此外,通過 shape
屬性訪問的所有輸出張量的靜態形狀將具有 None
的第一個 Dimension
值,並且依賴於固定 batch_size 的操作將失敗。
eager模式兼容性
啟用即刻執行時,不支持基於隊列的輸入管道。請使用tf.data
API 在即刻執行下攝取數據。
相關用法
- Python tf.compat.v1.train.summary_iterator用法及代碼示例
- Python tf.compat.v1.train.FtrlOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.get_or_create_global_step用法及代碼示例
- Python tf.compat.v1.train.cosine_decay_restarts用法及代碼示例
- Python tf.compat.v1.train.Optimizer用法及代碼示例
- Python tf.compat.v1.train.AdagradOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.init_from_checkpoint用法及代碼示例
- Python tf.compat.v1.train.Checkpoint用法及代碼示例
- Python tf.compat.v1.train.Supervisor.managed_session用法及代碼示例
- Python tf.compat.v1.train.Checkpoint.restore用法及代碼示例
- Python tf.compat.v1.train.global_step用法及代碼示例
- Python tf.compat.v1.train.MonitoredSession.run_step_fn用法及代碼示例
- Python tf.compat.v1.train.RMSPropOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.exponential_decay用法及代碼示例
- Python tf.compat.v1.train.natural_exp_decay用法及代碼示例
- Python tf.compat.v1.train.MomentumOptimizer用法及代碼示例
- Python tf.compat.v1.train.RMSPropOptimizer用法及代碼示例
- Python tf.compat.v1.train.get_global_step用法及代碼示例
- Python tf.compat.v1.train.GradientDescentOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.train.linear_cosine_decay用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.train.shuffle_batch。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。