Method: NN#initialize

Defined in:
lib/nn.rb

#initialize(num_nodes, learning_rate: 0.01, batch_size: 1, activation: %i(relu identity),, momentum: 0, weight_decay: 0, use_dropout: false, dropout_ratio: 0.5, use_batch_norm: false) ⇒ NN

Returns a new instance of NN.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/nn.rb', line 21

def initialize(num_nodes,
               learning_rate: 0.01,
               batch_size: 1,
               activation: i(relu identity),
               momentum: 0,
               weight_decay: 0,
               use_dropout: false,
               dropout_ratio: 0.5,
               use_batch_norm: false)
  SFloat.srand(rand(2 ** 64))
  @num_nodes = num_nodes
  @learning_rate = learning_rate
  @batch_size = batch_size
  @activation = activation
  @momentum = momentum
  @weight_decay = weight_decay
  @use_dropout = use_dropout
  @dropout_ratio = dropout_ratio
  @use_batch_norm = use_batch_norm
  init_weight_and_bias
  init_gamma_and_beta if @use_batch_norm
  @training = true
  init_layers
end