tensorflow创建变量有两种方式,tf.Variable()和tf.get_variable():
(1)使用tf.Variable创建变量
时,如果检测到命名冲突,系统会自己处理。
(2)使用tf.get_variable()创建变量
时,如果检测到命名冲突,系统会报错。
tf.variable_scope和tf.name_scope的都是让变量可以有相同的命名。
(1)tf.variable_scope可以让这两种方式tf.Variable()和tf.get_variable(),创建的变量有相同的命名。
(2)tf.name_scope只对tf.Variable()有效。
tf.variable_scope和tf.name_scope的用法如下:
with tf.name_scope('inputs'): self.x = tf.placeholder(tf.float32,[batch_size,step_num,input_size],name='x') self.y = tf.placeholder(tf.float32,[batch_size,step_num,output_size],name='y') with tf.variable_scope('input_layer'): self.add_input_layer()