批处理由装饰函数完成的计算。
用法
tf.nondifferentiable_batch_function(
num_batch_threads, max_batch_size, batch_timeout_micros,
allowed_batch_sizes=None, max_enqueued_batches=10, autograph=True,
enable_large_batch_splitting=True
)
参数
-
num_batch_threads
用于处理批量工作的调度线程数。确定并行处理的批次数。 -
max_batch_size
批量大小永远不会大于此。 -
batch_timeout_micros
在输出不完整批次之前等待的最大微秒数。 -
allowed_batch_sizes
允许的批量大小的可选列表。如果留空,则不执行任何操作。否则,提供批量大小列表,导致操作将批量填充到其中一个大小。条目必须单调增加,并且最终条目必须等于max_batch_size。 -
max_enqueued_batches
批处理队列的最大深度。默认为 10。 -
autograph
是否使用 autograph 编译 python 和 Eager 样式代码以高效执行graph-mode。 -
enable_large_batch_splitting
此选项的值不会影响给定相同输入的处理输出;它影响如下所述的实施细节:1。通过消除不必要的添加来提高配料效率。 2、max_batch_size
指定输入的限制,allowed_batch_sizes
指定要处理的任务的限制。当'max_execution_batch_size' 为 32 时,API 用户可以给出大小为 128 的输入 -> 实现可以将 128 的输入拆分为 4 x 32,调度并发处理,然后返回对应于 128 的串联结果。
返回
- 修饰函数将返回未批处理的计算输出张量。
因此,例如,在以下代码中
@batch_function(1, 2, 3)
def layer(a):
return tf.matmul(a, a)
b = layer(w)
如果多个 session.run 调用同时尝试计算 b
,则将收集 w
的值,沿第一个轴不确定地连接,并且只有一个线程将运行计算。有关更多详细信息,请参阅Batch
操作的文档。
假设修饰函数的所有参数都是张量,它们将沿着它们的第一维进行批处理。
不支持稀疏张量。装饰函数的返回值必须是张量或张量的列表/元组。
相关用法
- Python tf.no_gradient用法及代码示例
- Python tf.nn.embedding_lookup_sparse用法及代码示例
- Python tf.nest.is_nested用法及代码示例
- Python tf.nn.RNNCellResidualWrapper.set_weights用法及代码示例
- Python tf.nn.dropout用法及代码示例
- Python tf.nest.assert_same_structure用法及代码示例
- Python tf.nn.gelu用法及代码示例
- Python tf.nn.RNNCellDeviceWrapper.set_weights用法及代码示例
- Python tf.nn.embedding_lookup用法及代码示例
- Python tf.numpy_function用法及代码示例
- Python tf.nn.RNNCellDeviceWrapper.get_weights用法及代码示例
- Python tf.nn.local_response_normalization用法及代码示例
- Python tf.nn.scale_regularization_loss用法及代码示例
- Python tf.nn.RNNCellResidualWrapper.add_loss用法及代码示例
- Python tf.nn.max_pool用法及代码示例
- Python tf.nn.RNNCellDropoutWrapper.set_weights用法及代码示例
- Python tf.nest.map_structure用法及代码示例
- Python tf.nn.l2_loss用法及代码示例
- Python tf.nn.log_softmax用法及代码示例
- Python tf.nn.weighted_cross_entropy_with_logits用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.nondifferentiable_batch_function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。