Class: Tensorflow::NameScope
- Inherits:
-
Object
- Object
- Tensorflow::NameScope
- Defined in:
- lib/tensorflow/name_scope.rb
Instance Attribute Summary collapse
-
#names ⇒ Object
readonly
Returns the value of attribute names.
-
#stack ⇒ Object
readonly
Returns the value of attribute stack.
Instance Method Summary collapse
- #current_scope ⇒ Object
-
#initialize ⇒ NameScope
constructor
A new instance of NameScope.
- #name_scope(base_name) ⇒ Object
- #scoped_name(name) ⇒ Object
- #unique_name(name) ⇒ Object
Constructor Details
Instance Attribute Details
#names ⇒ Object (readonly)
Returns the value of attribute names.
5 6 7 |
# File 'lib/tensorflow/name_scope.rb', line 5 def names @names end |
#stack ⇒ Object (readonly)
Returns the value of attribute stack.
5 6 7 |
# File 'lib/tensorflow/name_scope.rb', line 5 def stack @stack end |
Instance Method Details
#current_scope ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/tensorflow/name_scope.rb', line 23 def current_scope if self.stack.last.nil? nil else self.stack.join("/") end end |
#name_scope(base_name) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/tensorflow/name_scope.rb', line 12 def name_scope(base_name) name = self.unique_name(base_name) stack.push(name) begin yield current_scope if block_given? ensure stack.pop end end |
#scoped_name(name) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/tensorflow/name_scope.rb', line 31 def scoped_name(name) base_name = case when self.stack.empty? name when self.stack.last.nil? name else "#{self.current_scope}/#{name}" end self.unique_name(base_name) end |
#unique_name(name) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/tensorflow/name_scope.rb', line 44 def unique_name(name) return nil unless name i = 0 check_name = name while self.names.include?(check_name.downcase) i += 1 check_name = "#{name}_#{i}" end self.names << check_name.downcase unless check_name.nil? check_name end |