Here is one easy way to do this using as with somename in the context manager. Using this property somename.original_name_scope , you can get this scope and then add more variables to it. The following is an illustration:
In [6]: with tf.variable_scope('myscope') as ms1: ...: tf.Variable(1.0, name='var1') ...: ...: with tf.variable_scope(ms1.original_name_scope) as ms2: ...: tf.Variable(2.0, name='var2') ...: ...: print([n.name for n in tf.get_default_graph().as_graph_def().node]) ...: ['myscope/var1/initial_value', 'myscope/var1', 'myscope/var1/Assign', 'myscope/var1/read', 'myscope/var2/initial_value', 'myscope/var2', 'myscope/var2/Assign', 'myscope/var2/read']
Note
Also note that setting reuse=True is optional; That is, even if you pass reuse=True , you will still get the same result.
Another way (thanks to OP itself!) Is to simply add / at the end of the variable area when reused, as in the following example:
In [13]: with tf.variable_scope('myscope'): ...: tf.Variable(1.0, name='var1') ...: ...:
Note
Also note that setting reuse=True is optional again; That is, even if you pass reuse=True , you will still get the same result.
source share