Class: RubyZero::NN::Layers::Affine
- Defined in:
- lib/rubyzero/nn/layers/affine.rb
Overview
Affine layer
Direct Known Subclasses
Instance Method Summary collapse
-
#forward(x) ⇒ RubyZero::Float32
Forward pass.
-
#initialize(input_size, output_size, bias: true) ⇒ Affine
constructor
A new instance of Affine.
Methods inherited from Model
#__get_str__, #call, #eval, #inspect, load, #parameters, #save, #train
Constructor Details
#initialize(input_size, output_size, bias: true) ⇒ Affine
Returns a new instance of Affine.
7 8 9 10 |
# File 'lib/rubyzero/nn/layers/affine.rb', line 7 def initialize(input_size, output_size, bias: true) @weight = RubyZero::Float32.randn([input_size, output_size]) @bias = RubyZero::Float32.randn([output_size]) if bias end |
Instance Method Details
#forward(x) ⇒ RubyZero::Float32
Forward pass
14 15 16 17 18 19 |
# File 'lib/rubyzero/nn/layers/affine.rb', line 14 def forward(x) x = x.dot(@weight) if @bias x += @bias.repeat(x.shape[0], axis: 0) end end |