Class: Chainer::Parameter
Instance Attribute Summary collapse
-
#grad_initializer ⇒ Object
Returns the value of attribute grad_initializer.
-
#initializer ⇒ Object
Returns the value of attribute initializer.
-
#update_rule ⇒ Object
Returns the value of attribute update_rule.
Attributes inherited from Variable
#data, #grad, #node, #requires_grad
Instance Method Summary collapse
- #cleargrad ⇒ Object
- #init(shape) ⇒ Object
-
#initialize(initializer: nil, shape: nil, name: nil) ⇒ Parameter
constructor
A new instance of Parameter.
- #update ⇒ Object
Methods inherited from Variable
#*, #**, #+, #-, #-@, #/, #_backward_main, as_variable, #backward, #coerce, #creator, #creator=, #creator_node, #creator_node=, #dtype, #grad_var, #grad_var=, #label, #name, #name=, #ndim, #rank, #reshape, #retain_data, #set_creator_node, #shape, #size, #transpose
Constructor Details
permalink #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 |
Instance Attribute Details
permalink #grad_initializer ⇒ Object
Returns the value of attribute grad_initializer.
3 4 5 |
# File 'lib/chainer/parameter.rb', line 3 def grad_initializer @grad_initializer end |
permalink #initializer ⇒ Object
Returns the value of attribute initializer.
3 4 5 |
# File 'lib/chainer/parameter.rb', line 3 def initializer @initializer end |
permalink #update_rule ⇒ Object
Returns the value of attribute update_rule.
3 4 5 |
# File 'lib/chainer/parameter.rb', line 3 def update_rule @update_rule end |
Instance Method Details
permalink #cleargrad ⇒ Object
[View source]
34 35 36 37 |
# File 'lib/chainer/parameter.rb', line 34 def cleargrad super @grad_initializer = nil if self.data.nil? end |
permalink #init(shape) ⇒ Object
[View source]
39 40 41 42 43 44 45 46 |
# File 'lib/chainer/parameter.rb', line 39 def init(shape) data = Chainer::Initializers.generate_array(@initializer, shape) ginit = @grad_initializer grad = ginit.nil? ? nil : Chainer::Initializers.generate_array(ginit, shape) self.data = data self.grad = grad end |
permalink #update ⇒ Object
[View source]
48 49 50 51 52 |
# File 'lib/chainer/parameter.rb', line 48 def update if @update_rule @update_rule.update(self) end end |