code: def _enter_vs_reuse_ns(name):
      vs = _get_cached_vs(name)
      # XXX Not good to enter the cached vs directly, because this will clean-up custom getter
      # with tf.variable_scope(name, reuse=tf.AUTO_REUSE):    # available in 1.4 only
      with tf.variable_scope(vs):
          with tf.name_scope(vs.original_name_scope):
              yield vs
  
file_path: tensorpack/tensorpack/tfutils/summary.py
imports: import re
  from contextlib import contextmanager
  import six
  from six.moves import range
  from tensorflow.python.training import moving_averages
  from ..compat import tfv1
  from ..utils import logger
  from ..utils.argtools import graph_memoized
  from ..utils.naming import MOVING_SUMMARY_OPS_KEY
  from .scope_utils import cached_name_scope
  from .symbolic_functions import rms
  from .tower import get_current_tower_context
label_desc: Use image node_id 2 for calling a global function with example usage: _enter_vs_reuse_ns(name) without return types