环境:Ubuntu14.04,tensorflow=1.4(bazel源码安装),Anaconda python=3.6
声明变量主要有两种方法:tf.Variable和 tf.get_variable,二者的最大区别是:
- (1) tf.Variable是一个类,自带很多属性函数;而 tf.get_variable是一个函数;
- (2) tf.Variable只能生成独一无二的变量,即如果给出的name已经存在,则会自动修改生成新的变量name;
- (3) tf.get_variable可以用于生成共享变量。默认情况下,该函数会进行变量名检查,如果有重复则会报错。当在指定变量域中声明可以变量共享时,可以重复使用该变量(例如RNN中的参数共享)。
下面给出简单的的示例程序:
import tensorflow as tf
with tf.variable_scope('scope1',reuse=tf.AUTO_REUSE) as scope1:
x1 = tf.Variable(tf.ones([1]),name='x1')
x2 = tf.Variable(tf.zeros([1]),name='x1')
y1 = tf.get_variable('y1',initializer=1.0)
y2 = tf.get_variable(

本文介绍了在TensorFlow中创建变量的两种方法:tf.Variable和tf.get_variable,以及如何根据名称查找变量。tf.Variable是类,用于创建独一无二的变量,而tf.get_variable可用于生成共享变量。示例程序展示了不同场景下如何使用这些方法,并提供了根据名称查找变量的方法,包括通过tf.global_variables()和get_tensor_by_name()。
最低0.47元/天 解锁文章
885





