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