tf.trainable_variables

参考 tf.trainable_variables - 云+社区 - 腾讯云

返回所有使用trainable=True创建的变量。

tf.trainable_variables(scope=None)

当传递trainable=True时,Variable()构造函数自动向graph collection GraphKeys.TRAINABLE_VARIABLES添加新变量。这个便利函数返回集合的内容。

参数:

  • 范围:(可选)。一个字符串。如果提供,则筛选结果列表,使其只包含名称属性与使用re.match的范围相匹配的项。如果提供范围,则永远不会返回没有name属性的项。选择re.match意味着没有特殊令牌的范围将通过前缀过滤。

返回值:

  • 变量对象的列表。

例:

tf.trainable_variables和tf.all_variables的对比

  • tf.trainable_variables返回的是需要训练的变量列表
  • tf.all_variables返回的是所有变量的列表
import tensorflow as tf;    
import numpy as np;    
import matplotlib.pyplot as plt;    
  
v = tf.Variable(tf.constant(0.0, shape=[1], dtype=tf.float32), name='v')  
v1 = tf.Variable(tf.constant(5, shape=[1], dtype=tf.float32), name='v1')  
  
global_step = tf.Variable(tf.constant(5, shape=[1], dtype=tf.float32), name='global_step', trainable=False)  
ema = tf.train.ExponentialMovingAverage(0.99, global_step)  
  
for ele1 in tf.trainable_variables():  
    print ele1.name  
for ele2 in tf.all_variables():  
    print ele2.name  



Output:
---------------
v:0
v1:0

v:0
v1:0
global_step:0
---------------

分析:上面得到两个变量,后面的一个得到上三个变量,因为global_step在声明的时候说明不是训练变量,用来关键字trainable=False。

你可能感兴趣的:(TensorFlow,tensorflow,深度学习,机器学习)