Fork me on GitHub

name_scope的用法

name_scope的用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#author:victor
#name_scope和variable_scope的区别
#from _future_ import print_function

#import module
import tensorflow as tf

tf.set_random_seed(1)#reproducible

with tf.name_scope('a_name_scope'):
#常量初始化
initializer=tf.constant_initializer(value=1)
var1=tf.get_variable(name='var1',shape=[1],dtype=tf.float32,initializer=initializer)
var2=tf.Variable(name='var2',initial_value=[2],dtype=tf.float32)
var21=tf.Variable(name='var2',initial_value=[2,1],dtype=tf.float32)
var22=tf.Variable(name='var2',initial_value=[2,2],dtype=tf.float32)

with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
print(var1.name)#var1:0,用tf.get_vriable创建变量,name_scope不会加上,也就是无效的
print(sess.run(var1))
print(var2.name)#a_name_scope/var2:0,用tf.Variable创建变量,会先检查一下有没有name_scope,有就会加上name_scope
print(sess.run(var2))
print(var1.name)
print(sess.run(var21))
print(var2.name)
print(sess.run(var22))

使用name_scope的效果:

name_scope