Method: Chainer::Parameter#initialize
- Defined in:
- lib/chainer/parameter.rb
#initialize(initializer: nil, shape: nil, name: nil) ⇒ Parameter
Returns a new instance of Parameter.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/chainer/parameter.rb', line 5 def initialize(initializer: nil, shape: nil, name: nil) if initializer.nil? initializer = Chainer::Initializers.nan() elsif initializer.kind_of?(Numeric) initializer = Initializers::Constant.new(initializer) end if shape.nil? if Chainer.array?(initializer) super(initializer, name: name) else super(name: name) @initializer = initializer dtype = initializer.respond_to?(:dtype) ? initializer.dtype : 'SFloat' @grad_initializer = Chainer::Initializers.nan(dtype: dtype) end else if Chainer.array?(initializer) initializer = Initializers::Constant.new(initializer) end data = Chainer::Initializers.generate_array(initializer, shape) xm = Chainer.get_array_module(data) grad = xm::NArray[*[1, 2]].new_fill(-922337203) super(data, name: name, grad: grad) end @update_rule = nil end |