Class: DNN::Layers::Connection
- Inherits:
-
HasParamLayer
- Object
- Layer
- HasParamLayer
- DNN::Layers::Connection
- Defined in:
- lib/dnn/core/layers.rb
Overview
It is a superclass of all connection layers.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#bias_initializer ⇒ DNN::Initializers::Initializer
readonly
Bias initializer.
-
#bias_regularizer ⇒ DNN::Regularizers::Regularizer
readonly
Bias regularization.
-
#weight_initializer ⇒ DNN::Initializers::Initializer
readonly
Weight initializer.
-
#weight_regularizer ⇒ DNN::Regularizers::Regularizer
readonly
Weight regularization.
Attributes inherited from HasParamLayer
Attributes inherited from Layer
Instance Method Summary collapse
-
#initialize(weight_initializer: Initializers::RandomNormal.new, bias_initializer: Initializers::Zeros.new, weight_regularizer: nil, bias_regularizer: nil, use_bias: true) ⇒ Connection
constructor
A new instance of Connection.
- #regularizers ⇒ Object
- #to_hash(merge_hash) ⇒ Object
-
#use_bias ⇒ Bool
Return whether to use bias.
Methods inherited from Layer
#backward, #build, #built?, #forward, #output_shape
Constructor Details
#initialize(weight_initializer: Initializers::RandomNormal.new, bias_initializer: Initializers::Zeros.new, weight_regularizer: nil, bias_regularizer: nil, use_bias: true) ⇒ Connection
Returns a new instance of Connection.
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/dnn/core/layers.rb', line 115 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 @params[:weight] = @weight = Param.new(nil, 0) if use_bias @params[:bias] = @bias = Param.new(nil, 0) else @bias = nil end end |
Instance Attribute Details
#bias_initializer ⇒ DNN::Initializers::Initializer (readonly)
Returns Bias initializer.
104 105 106 |
# File 'lib/dnn/core/layers.rb', line 104 def bias_initializer @bias_initializer end |
#bias_regularizer ⇒ DNN::Regularizers::Regularizer (readonly)
Returns Bias regularization.
108 109 110 |
# File 'lib/dnn/core/layers.rb', line 108 def bias_regularizer @bias_regularizer end |
#weight_initializer ⇒ DNN::Initializers::Initializer (readonly)
Returns Weight initializer.
102 103 104 |
# File 'lib/dnn/core/layers.rb', line 102 def weight_initializer @weight_initializer end |
#weight_regularizer ⇒ DNN::Regularizers::Regularizer (readonly)
Returns Weight regularization.
106 107 108 |
# File 'lib/dnn/core/layers.rb', line 106 def weight_regularizer @weight_regularizer end |
Instance Method Details
#regularizers ⇒ Object
133 134 135 136 137 138 |
# File 'lib/dnn/core/layers.rb', line 133 def regularizers regularizers = [] regularizers << @weight_regularizer if @weight_regularizer regularizers << @bias_regularizer if @bias_regularizer regularizers end |
#to_hash(merge_hash) ⇒ Object
145 146 147 148 149 150 151 |
# File 'lib/dnn/core/layers.rb', line 145 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 ⇒ Bool
Return whether to use bias.
141 142 143 |
# File 'lib/dnn/core/layers.rb', line 141 def use_bias @bias ? true : false end |