class DNN::Initializers::Initializer

Public Class Methods

from_hash(hash) click to toggle source
# File lib/dnn/core/initializers.rb, line 5
def self.from_hash(hash)
  return nil unless hash
  initializer_class = DNN.const_get(hash[:class])
  initializer = initializer_class.allocate
  raise DNNError, "#{initializer.class} is not an instance of #{self} class." unless initializer.is_a?(self)
  initializer.load_hash(hash)
  initializer
end
new(seed: false) click to toggle source

@param [Boolean | Integer] seed Seed of random number used for initialize parameter.

Set true to determine seed as random.
# File lib/dnn/core/initializers.rb, line 16
def initialize(seed: false)
  @seed = seed == true ? rand(1 << 31) : seed
end

Public Instance Methods

init_param(layer, param) click to toggle source

Initialization of learning parameters. @param [DNN::Layers::Layer] layer Layer that owns learning parameters. @param [DNN::Param] param Learning parameter to be initialized.

# File lib/dnn/core/initializers.rb, line 23
def init_param(layer, param)
  raise NotImplementedError, "Class '#{self.class.name}' has implement method 'init_param'"
end
load_hash(hash) click to toggle source
# File lib/dnn/core/initializers.rb, line 33
def load_hash(hash)
  initialize
end
to_hash(merge_hash = nil) click to toggle source
# File lib/dnn/core/initializers.rb, line 27
def to_hash(merge_hash = nil)
  hash = { class: self.class.name, seed: @seed }
  hash.merge!(merge_hash) if merge_hash
  hash
end