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.



101
102
103
# File 'lib/dnn/core/initializers.rb', line 101

def initialize(seed = true)
  super
end

Instance Method Details

#init_param(layer, param) ⇒ Object



105
106
107
108
109
# File 'lib/dnn/core/initializers.rb', line 105

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