class Chainer::Chain
Public Class Methods
new()
click to toggle source
Calls superclass method
Chainer::Link::new
# File lib/chainer/link.rb, line 107 def initialize super @children = [] end
Public Instance Methods
del_attr(name)
click to toggle source
Calls superclass method
Chainer::Link#del_attr
# File lib/chainer/link.rb, line 123 def del_attr(name) @children.delete(name) super end
namedlinks(skipself: false) { |'/' , self| ... }
click to toggle source
# File lib/chainer/link.rb, line 153 def namedlinks(skipself: false) yield('/' , self) unless skipself d = self.instance_variables.each_with_object({}) { |sym, h| h[sym] = self.instance_variable_get(sym) } @children.each do |name| child = d[name.to_sym] prefix = '/' + name.to_s yield(prefix, child) d[name].namedlinks(skipself: true) do |path, link| yield(prefix + path, link) end end end
namedparams(include_uninit: true) { |param| ... }
click to toggle source
Calls superclass method
Chainer::Link#namedparams
# File lib/chainer/link.rb, line 140 def namedparams(include_uninit: true) super(include_uninit: include_uninit) do |param| yield param end @children.each do |name| prefix = "/#{name}" self.instance_variable_get(name).namedparams(include_uninit: include_uninit) do |(path, param)| yield [prefix + path, param] end end end
params(include_uninit: true) { |param| ... }
click to toggle source
Calls superclass method
Chainer::Link#params
# File lib/chainer/link.rb, line 128 def params(include_uninit: true) super(include_uninit: include_uninit) do |param| yield param end @children.each do |name| self.instance_variable_get(name).params(include_uninit: include_uninit) do |param| yield param end end end
serialize(serializer)
click to toggle source
Calls superclass method
Chainer::Link#serialize
# File lib/chainer/link.rb, line 166 def serialize(serializer) super(serializer) d = self.instance_variables.each_with_object({}) { |sym, h| h[sym] = self.instance_variable_get(sym) } @children.each do |name| d[name].serialize(serializer[name.to_s]) end end
set_attr(name, value)
click to toggle source
Calls superclass method
Chainer::Link#set_attr
# File lib/chainer/link.rb, line 112 def set_attr(name, value) if within_init_scope && value.kind_of?(Chainer::Link) if self.respond_to?(name) raise TypeError, "cannot register a new link #{name}: attribute exists" end value.name = name @children << name end super end