集合collection
在TensorFlow中,所有的变量都会被自动加入到GraphKeys.VARIABLES集合中。通过tf.global_variables()函数可以得到当前计算图上所有的变量。拿到所有的变量有助于持久化整个计算图的运行状态。当构建机器学习模型时,可以通过变量声明函数中的trainable参数来区分需要优化的参数(如神经网络中的参数)和其他参数(如迭代次数)。如果声明变量时trainable参数为True,那么这个变量就会被加入到GraphKeys.TRAINABLE_VARIABLES集合。在tensorflow中可以通过tf.trainable_variables函数得到所有需要优化的参数。TensorFlow中提供的神经网络优化算法会将GraphKeys.TRAINABLE_VARIABLES集合中的变量作为默认优化的参数。
其中变量的类型是不可变得,但维度可能会发生改变(需要设置validate_shap=False)