当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python mxnet.gluon.Parameter用法及代码示例


用法:

class mxnet.gluon.Parameter(name, grad_req='write', shape=None, dtype=<class 'numpy.float32'>, lr_mult=1.0, wd_mult=1.0, init=None, allow_deferred_init=False, differentiable=True, stype='default', grad_stype='default')

参数

  • name(str) - 此参数的名称。
  • grad_req({'write', 'add', 'null'}, default 'write') -指定如何将梯度更新为 grad 数组。
    • 'write' 表示每次将梯度写入 grad NDArray
    • 'add' 表示每次将梯度添加到渐变 NDArray 。使用此选项时,您需要在每次迭代之前手动调用zero_grad() 来清除梯度缓冲区。
    • 'null' 表示此参数不请求渐变。不会分配梯度数组。
  • shape(int or tuple of int, default None) - 此参数的形状。默认情况下未指定形状。形状未知的参数可用于SymbolAPI,但是init使用时会报错NDArrayAPI。
  • dtype(numpy.dtype or str, default 'float32') - 此参数的数据类型。例如,numpy.float32或者'float32'.
  • lr_mult(float, default 1.0) - 学习率乘数。使用优化器更新此参数时,学习率将乘以lr_mult。
  • wd_mult(float, default 1.0) - 权重衰减乘数(L2 正则化系数)。工作方式类似于lr_mult。
  • init(Initializer, default None) - 此参数的初始化程序。默认情况下将使用全局初始化程序。
  • stype({'default', 'row_sparse', 'csr'}, defaults to 'default'.) - 参数的存储类型。
  • grad_stype({'default', 'row_sparse', 'csr'}, defaults to 'default'.) - 参数梯度的存储类型。

基础:object

一个 Container 持有 Blocks 的参数(权重)。

Parameter 在使用 Parameter.initialize(...) 初始化后,在每个 Context 上保存参数的副本。如果 grad_req 不是 'null' ,它还将在每个 Context 上保存一个渐变数组:

ctx = mx.gpu(0)
x = mx.nd.zeros((16, 100), ctx=ctx)
w = mx.gluon.Parameter('fc_weight', shape=(64, 100), init=mx.init.Xavier())
b = mx.gluon.Parameter('fc_bias', shape=(64,), init=mx.init.Zero())
w.initialize(ctx=ctx)
b.initialize(ctx=ctx)
out = mx.nd.FullyConnected(x, w.data(ctx), b.data(ctx), num_hidden=64)

属性

dtype

参数的类型。

shape

参数的形状。

相关用法


注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.gluon.Parameter。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。