當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。