Class: DNN::Initializers::Xavier

Inherits:
Initializer show all
Defined in:
lib/dnn/core/initializers.rb

Instance Method Summary collapse

Methods inherited from Initializer

#to_hash

Constructor Details

#initialize(seed: true) ⇒ Xavier

Returns a new instance of Xavier.



111
112
113
# File 'lib/dnn/core/initializers.rb', line 111

def initialize(seed: true)
  super
end

Instance Method Details

#init_param(layer, param) ⇒ Object



115
116
117
118
119
# File 'lib/dnn/core/initializers.rb', line 115

def init_param(layer, param)
  Xumo::SFloat.srand(@seed)
  num_prev_nodes = layer.input_shape.reduce(:*)
  param.data = param.data.rand_norm / Math.sqrt(num_prev_nodes)
end