用法:
bind(ctx, args, args_grad=None, grad_req='write', aux_states=None, group2ctx=None, shared_exec=None)- ctx:(mxnet.context.Context) - 生成的执行程序运行的设备上下文。
- args:(
list of NDArrayordict of str to NDArray) -符号的输入参数。- 如果输入类型是
NDArray的列表,则顺序应与list_arguments()的顺序相同。 - 如果输入类型是 str 到
NDArray的字典,则它将参数名称映射到相应的NDArray。 - 在任何一种情况下,都必须提供所有参数。
- 如果输入类型是
- args_grad:(NDArray 列表或 str 的 dict 到
NDArray, 可选的) -指定时,args_grad提供 NDArrays 以向后保存梯度值的结果。- 如果输入类型是
NDArray的列表,则顺序应与list_arguments()的顺序相同。 - 如果输入类型是 str 到
NDArray的字典,则它将参数名称映射到相应的 NDArray。 - 当类型是 str 到
NDArray的字典时,只需提供所需参数梯度的字典。只会计算指定的参数梯度。
- 如果输入类型是
- grad_req:(
{'write','add','null'}, orlist of strordict of str to str,optional) -指定我们应该如何将渐变更新为args_grad。- 'write' 表示每次将梯度写入指定的
args_gradNDArray。 - 'add' 表示每次将渐变添加到指定的 NDArray。
- 'null' 表示不采取任何行动,可能不计算梯度。
- 'write' 表示每次将梯度写入指定的
- aux_states:(列表
NDArray, 或 str 的 dict 到NDArray, 可选的) -向符号输入辅助状态,仅当list_auxiliary_states()的输出不为空时才需要。- 如果输入类型是
NDArray的列表,则顺序应与list_auxiliary_states()的顺序相同。 - 如果输入类型是 str 到
NDArray的字典,则它将auxiliary_states的名称映射到相应的NDArray, - 在任何一种情况下,都需要提供所有辅助状态。
- 如果输入类型是
- group2ctx:(
Dict of string to mx.Context) - 字典映射ctx_group归因于上下文分配。 - shared_exec:(
mx.executor.Executor) - 执行者共享内存。这适用于运行时重塑、可变长度序列等。返回的执行程序与shared_exec, 并且不应该与它并行使用。
executor:- 生成的执行器
参数:
返回:
返回类型:
将当前符号绑定到执行器并返回它。
我们首先声明计算,然后绑定到要运行的数据。此函数返回一个执行程序,它提供方法
forward()方法进行评估和outputs()方法来获取所有结果。示例:
>>> a = mx.sym.Variable('a') >>> b = mx.sym.Variable('b') >>> c = a + b <Symbol _plus1> >>> ex = c.bind(ctx=mx.cpu(), args={'a' : mx.nd.ones([2,3]), 'b' : mx.nd.ones([2,3])}) >>> ex.forward() [<NDArray 2x3 @cpu(0)>] >>> ex.outputs[0].asnumpy() [[ 2. 2. 2.] [ 2. 2. 2.]]注意:
辅助状态是符号的特殊状态,不对应于参数,没有梯度,但对特定操作仍然有用。辅助状态的常见示例包括
BatchNorm中的moving_mean和moving_variance状态。大多数运算符没有辅助状态,在这些情况下,可以安全地忽略此参数。可以通过在
args_grad中使用字典来放弃渐变,只指定他们感兴趣的渐变。
相关用法
- Python mxnet.symbol.Symbol.get_children用法及代码示例
- Python mxnet.symbol.Symbol.list_outputs用法及代码示例
- Python mxnet.symbol.Symbol.infer_type_partial用法及代码示例
- Python mxnet.symbol.Symbol.eval用法及代码示例
- Python mxnet.symbol.Symbol.infer_shape_partial用法及代码示例
- Python mxnet.symbol.Symbol.simple_bind用法及代码示例
- Python mxnet.symbol.Symbol.list_inputs用法及代码示例
- Python mxnet.symbol.Symbol.infer_type用法及代码示例
- Python mxnet.symbol.Symbol.debug_str用法及代码示例
- Python mxnet.symbol.Symbol.infer_shape用法及代码示例
- Python mxnet.symbol.Symbol.list_auxiliary_states用法及代码示例
- Python mxnet.symbol.Symbol.attr_dict用法及代码示例
- Python mxnet.symbol.Symbol.attr用法及代码示例
- Python mxnet.symbol.Symbol.list_attr用法及代码示例
- Python mxnet.symbol.Symbol.get_internals用法及代码示例
- Python mxnet.symbol.Symbol.list_arguments用法及代码示例
- Python mxnet.symbol.SequenceReverse用法及代码示例
- Python mxnet.symbol.SequenceMask用法及代码示例
- Python mxnet.symbol.SequenceLast用法及代码示例
- Python mxnet.symbol.SoftmaxActivation用法及代码示例
注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.symbol.Symbol.bind。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
