import tensorflow as tf

        # either the Tower was originally created with reuse,
        # or a training tower without vs has to use reuse.
        reuse = (self.is_training and self._index > 0 and not
                 self.has_own_variables) or self._initial_vs_reuse

        if len(self._vs_name):
            ret.append(tf.variable_scope(self._vs_name, reuse=reuse))
        else:
            if reuse:
                ret.append(tf.variable_scope(
                    tf.get_variable_scope(), reuse=True))
            else:
