Class: GRX::NN::Sequential
Overview
================================================================
Sequential — Chains layers sequentially in order
Instance Method Summary
collapse
Methods inherited from Module
#call, #load_weights, #save_weights, #zero_grad
Constructor Details
#initialize(*layers) ⇒ Sequential
Returns a new instance of Sequential.
113
114
115
|
# File 'lib/grx/nn.rb', line 113
def initialize(*layers)
@layers = layers
end
|
Instance Method Details
#eval! ⇒ Object
130
131
132
133
|
# File 'lib/grx/nn.rb', line 130
def eval!
@layers.each { |l| l.eval! if l.respond_to?(:eval!) }
self
end
|
#forward(x) ⇒ Object
117
118
119
|
# File 'lib/grx/nn.rb', line 117
def forward(x)
@layers.reduce(x) { |input, layer| layer.call(input) }
end
|
#parameters ⇒ Object
121
122
123
|
# File 'lib/grx/nn.rb', line 121
def parameters
@layers.flat_map(&:parameters)
end
|
#to_s ⇒ Object
135
136
137
138
|
# File 'lib/grx/nn.rb', line 135
def to_s
layers_str = @layers.each_with_index.map { |l, i| " (#{i}): #{l}" }.join("\n")
"Sequential(\n#{layers_str}\n)"
end
|
#train! ⇒ Object
125
126
127
128
|
# File 'lib/grx/nn.rb', line 125
def train!
@layers.each { |l| l.train! if l.respond_to?(:train!) }
self
end
|