Class: Chainer::Links::Connection::Linear
- Inherits:
-
Chainer::Link
- Object
- Chainer::Link
- Chainer::Links::Connection::Linear
- Defined in:
- lib/chainer/links/connection/linear.rb
Instance Attribute Summary collapse
-
#b ⇒ Object
readonly
Returns the value of attribute b.
-
#w ⇒ Object
readonly
Returns the value of attribute w.
Attributes inherited from Chainer::Link
Instance Method Summary collapse
- #call(x) ⇒ Object
-
#initialize(in_size, out_size: nil, nobias: false, initial_w: nil, initial_bias: nil) ⇒ Linear
constructor
A new instance of Linear.
Methods inherited from Chainer::Link
#cleargrads, #del_attr, #init_scope, #namedlinks, #namedparams, #params, #register_persistent, #serialize, #set_attr, #within_init_scope
Constructor Details
#initialize(in_size, out_size: nil, nobias: false, initial_w: nil, initial_bias: nil) ⇒ Linear
Returns a new instance of Linear.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/chainer/links/connection/linear.rb', line 7 def initialize(in_size, out_size: nil, nobias: false, initial_w: nil, initial_bias: nil) super() in_size, out_size = nil, in_size if out_size.nil? @out_size = out_size init_scope do w_initializer = Chainer::Initializers.get_initializer(initial_w) @w = Chainer::Parameter.new(initializer: w_initializer) initialize_params(in_size) unless in_size.nil? if nobias @b = nil else initial_bias = 0 if initial_bias.nil? bias_initializer = Chainer::Initializers.get_initializer(initial_bias) @b = Chainer::Parameter.new(initializer: bias_initializer, shape: out_size) end end end |
Instance Attribute Details
#b ⇒ Object (readonly)
Returns the value of attribute b.
5 6 7 |
# File 'lib/chainer/links/connection/linear.rb', line 5 def b @b end |
#w ⇒ Object (readonly)
Returns the value of attribute w.
5 6 7 |
# File 'lib/chainer/links/connection/linear.rb', line 5 def w @w end |
Instance Method Details
#call(x) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/chainer/links/connection/linear.rb', line 28 def call(x) if @w.data.nil? initialize_params(x.size.div(x.shape[0])) end Chainer::Functions::Connection::LinearFunction.linear(x, @w, @b) end |