Class: RubyZero::NN::Layers::ModelList
- Inherits:
-
Layer
- Object
- Model
- Layer
- RubyZero::NN::Layers::ModelList
show all
- Defined in:
- lib/rubyzero/nn/layers/modellist.rb
Overview
The list of models that can be used in the neural network. This class supports to containing different Model classes.
Instance Method Summary
collapse
Methods inherited from Model
#call, #eval, #forward, #inspect, load, #save, #train
Constructor Details
#initialize(list = nil) ⇒ ModelList
Returns a new instance of ModelList.
5
6
7
8
9
10
11
|
# File 'lib/rubyzero/nn/layers/modellist.rb', line 5
def initialize(list=nil)
if list
@models = list
else
@models = []
end
end
|
Instance Method Details
#+(modellist) ⇒ Object
25
26
27
|
# File 'lib/rubyzero/nn/layers/modellist.rb', line 25
def +(modellist)
return ModelList.new(@models + modellist.elements)
end
|
#<<(model) ⇒ Object
19
20
21
|
# File 'lib/rubyzero/nn/layers/modellist.rb', line 19
def <<(model)
@models << model
end
|
#__get_str__(num_indents) ⇒ Object
31
32
33
34
35
36
37
38
|
# File 'lib/rubyzero/nn/layers/modellist.rb', line 31
def __get_str__(num_indents)
indents = " " * num_indents
s = "#{indents}#{self.class.name} #{parameters.size} params\n"
@models.each do |child|
s += child.__get_str__(num_indents + 1)
end
return s
end
|
#each(&block) ⇒ Object
28
29
30
|
# File 'lib/rubyzero/nn/layers/modellist.rb', line 28
def each(&block)
@models.each(&block)
end
|
#elements ⇒ Object
22
23
24
|
# File 'lib/rubyzero/nn/layers/modellist.rb', line 22
def elements
return @models
end
|
#parameters ⇒ Object
12
13
14
15
16
17
18
|
# File 'lib/rubyzero/nn/layers/modellist.rb', line 12
def parameters
params = []
@models.each do |model|
params += model.parameters.elements
end
return RubyZero::NN::Parameters.new(params)
end
|