用法:
mxnet.symbol.contrib.foreach(body, data, init_states, name='foreach')
- body:(
a Python function.
) - 在迭代中定義計算。 - data:(
a symbol
or
a list of symbols.
) - 輸入數據。 - init_states:(
a Symbol
or
nested lists of symbols.
) - 循環狀態的初始值。 - name:(
string.
) - 操作符的名稱。
- body:(
- outputs:(
a Symbol or nested lists of Symbols.
) - 從所有迭代的輸出中連接的輸出數據。 - states:(
a Symbol or nested lists of Symbols.
) - 上次迭代中的循環狀態。
- outputs:(
參數:
返回:
使用用戶定義的計算對維度 0 上的符號運行 for 循環。
此運算符模擬 for 循環,並且主體具有 for 循環迭代的計算。它在輸入 NDArrays 的每個切片上運行 body 中的計算。
body 將兩個參數作為輸入並輸出兩個元素的元組,如下所示:
出,狀態 = 身體(數據 1,狀態)
data1 可以是符號或符號列表。如果 data 是一個符號,則 data1 是一個符號。否則,data1 是一個符號列表,並且與數據具有相同的大小。 states 是符號列表,大小與init_states 相同。類似地,out 可以是一個符號或符號列表,它們被連接起來作為 foreach 的第一個輸出;上次執行 body 的狀態是 foreach 的第二個輸出。
foreach 隻能輸出輸出數據或狀態。如果用戶隻想要狀態,body 函數可以返回 ([], states)。同樣,如果用戶隻想輸出數據,body 函數可以返回 (out, [])。
當輸入數據為 NDArray 時,該算子的計算相當於下麵的偽代碼:
states = init_states outs = [] for i in data.shape[0]: s = data[i] out, states = body(s, states) outs.append(out) outs = stack(*outs)
例子:
>>> step = lambda data, states: (data + states[0], [states[0] * 2]) >>> data = mx.sym.var('data') >>> states = [mx.sym.var('state')] >>> outs, states = mx.sym.contrib.foreach(step, data, states)
相關用法
- Python mxnet.symbol.contrib.fft用法及代碼示例
- Python mxnet.symbol.contrib.dgl_graph_compact用法及代碼示例
- Python mxnet.symbol.contrib.rand_zipfian用法及代碼示例
- Python mxnet.symbol.contrib.group_adagrad_update用法及代碼示例
- Python mxnet.symbol.contrib.quadratic用法及代碼示例
- Python mxnet.symbol.contrib.edge_id用法及代碼示例
- Python mxnet.symbol.contrib.DeformableConvolution用法及代碼示例
- Python mxnet.symbol.contrib.while_loop用法及代碼示例
- Python mxnet.symbol.contrib.dgl_subgraph用法及代碼示例
- Python mxnet.symbol.contrib.cond用法及代碼示例
- Python mxnet.symbol.contrib.ifft用法及代碼示例
- Python mxnet.symbol.contrib.boolean_mask用法及代碼示例
- Python mxnet.symbol.contrib.index_array用法及代碼示例
- Python mxnet.symbol.contrib.allclose用法及代碼示例
- Python mxnet.symbol.contrib.dgl_csr_neighbor_uniform_sample用法及代碼示例
- Python mxnet.symbol.contrib.index_copy用法及代碼示例
- Python mxnet.symbol.contrib.ModulatedDeformableConvolution用法及代碼示例
- Python mxnet.symbol.contrib.dgl_csr_neighbor_non_uniform_sample用法及代碼示例
- Python mxnet.symbol.contrib.arange_like用法及代碼示例
- Python mxnet.symbol.contrib.SparseEmbedding用法及代碼示例
注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.symbol.contrib.foreach。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。