Class: DNN::Layers::SimpleRNN

Inherits:
RNN show all
Defined in:
lib/dnn/core/rnn_layers.rb

Instance Attribute Summary collapse

Attributes inherited from RNN

#bias, #num_nodes, #stateful, #weight, #weight2

Attributes inherited from Connection

#bias_initializer, #l1_lambda, #l2_lambda, #weight_initializer

Attributes inherited from HasParamLayer

#params, #trainable

Attributes inherited from Layer

#input_shape

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RNN

#backward, #d_lasso, #d_ridge, #forward, #lasso, #output_shape, #reset_state, #ridge, #shape

Methods inherited from Connection

#d_lasso, #d_ridge, #lasso, #ridge

Methods inherited from HasParamLayer

#build, #update

Methods inherited from Layer

#backward, #build, #built?, #forward, #output_shape

Constructor Details

#initialize(num_nodes, stateful: false, return_sequences: true, activation: Tanh.new, weight_initializer: Initializers::RandomNormal.new, bias_initializer: Initializers::Zeros.new, l1_lambda: 0, l2_lambda: 0) ⇒ SimpleRNN

Returns a new instance of SimpleRNN.



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/dnn/core/rnn_layers.rb', line 169

def initialize(num_nodes,
               stateful: false,
               return_sequences: true,
               activation: Tanh.new,
               weight_initializer: Initializers::RandomNormal.new,
               bias_initializer: Initializers::Zeros.new,
               l1_lambda: 0,
               l2_lambda: 0)
  super(num_nodes,
        stateful: stateful,
        return_sequences: return_sequences,
        weight_initializer: weight_initializer,
        bias_initializer: bias_initializer,
        l1_lambda: 0,
        l2_lambda: 0)
  @activation = activation
end

Instance Attribute Details

#activationObject (readonly)

Returns the value of attribute activation.



155
156
157
# File 'lib/dnn/core/rnn_layers.rb', line 155

def activation
  @activation
end

Class Method Details

.load_hash(hash) ⇒ Object



157
158
159
160
161
162
163
164
165
166
167
# File 'lib/dnn/core/rnn_layers.rb', line 157

def self.load_hash(hash)
  simple_rnn = self.new(hash[:num_nodes],
                        stateful: hash[:stateful],
                        return_sequences: hash[:return_sequences],
                        activation: Utils.load_hash(hash[:activation]),
                        weight_initializer: Utils.load_hash(hash[:weight_initializer]),
                        bias_initializer: Utils.load_hash(hash[:bias_initializer]),
                        l1_lambda: hash[:l1_lambda],
                        l2_lambda: hash[:l2_lambda])
  simple_rnn
end

Instance Method Details

#to_hashObject



187
188
189
# File 'lib/dnn/core/rnn_layers.rb', line 187

def to_hash
  super({activation: @activation.to_hash})
end