批處理由裝飾函數完成的計算。
用法
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。