通过随机打乱张量创建批次。 (已弃用)
用法
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。