class DNN::Layers::Connection
It is a superclass of all connection layers.
Attributes
bias[R]
bias_initializer[R]
bias_regularizer[R]
weight[R]
weight_initializer[R]
weight_regularizer[R]
Public Class Methods
new(weight_initializer: Initializers::RandomNormal.new, bias_initializer: Initializers::Zeros.new, weight_regularizer: nil, bias_regularizer: nil, use_bias: true)
click to toggle source
@param [DNN::Initializers::Initializer] weight_initializer
Weight initializer. @param [DNN::Initializers::Initializer] bias_initializer
Bias initializer. @param [DNN::Regularizers::Regularizer | NilClass] weight_regularizer
Weight regularizer. @param [DNN::Regularizers::Regularizer | NilClass] bias_regularizer
Bias regularizer. @param [Boolean] use_bias
Whether to use bias.
Calls superclass method
DNN::Layers::TrainableLayer::new
# File lib/dnn/core/layers/basic_layers.rb, line 186 def initialize(weight_initializer: Initializers::RandomNormal.new, bias_initializer: Initializers::Zeros.new, weight_regularizer: nil, bias_regularizer: nil, use_bias: true) super() @weight_initializer = weight_initializer @bias_initializer = bias_initializer @weight_regularizer = weight_regularizer @bias_regularizer = bias_regularizer @weight = Param.new(nil, Xumo::SFloat[0]) @bias = use_bias ? Param.new(nil, Xumo::SFloat[0]) : nil end
Public Instance Methods
get_params()
click to toggle source
# File lib/dnn/core/layers/basic_layers.rb, line 220 def get_params { weight: @weight, bias: @bias } end
regularizers()
click to toggle source
# File lib/dnn/core/layers/basic_layers.rb, line 200 def regularizers regularizers = [] regularizers << @weight_regularizer if @weight_regularizer regularizers << @bias_regularizer if @bias_regularizer regularizers end
to_hash(merge_hash)
click to toggle source
Calls superclass method
DNN::Layers::Layer#to_hash
# File lib/dnn/core/layers/basic_layers.rb, line 212 def to_hash(merge_hash) super({ weight_initializer: @weight_initializer.to_hash, bias_initializer: @bias_initializer.to_hash, weight_regularizer: @weight_regularizer&.to_hash, bias_regularizer: @bias_regularizer&.to_hash, use_bias: use_bias }.merge(merge_hash)) end
use_bias()
click to toggle source
@return [Boolean] Return whether to use bias.
# File lib/dnn/core/layers/basic_layers.rb, line 208 def use_bias @bias ? true : false end
Private Instance Methods
init_weight_and_bias()
click to toggle source
# File lib/dnn/core/layers/basic_layers.rb, line 224 def init_weight_and_bias @weight_initializer.init_param(self, @weight) @weight_regularizer.param = @weight if @weight_regularizer if @bias @bias_initializer.init_param(self, @bias) @bias_regularizer.param = @bias if @bias_regularizer end end