1.tf.add_to_collection(name,value)
功能:将变量添加到名为name的集合中去。
参数:(1)name:集合名(2)value:被添加的变量
2.tf.get_collection(key,scope=None)
功能:获取集合中的变量。
参数:(1)key:集合名
3.tf.add_n(inputs,name=None)
功能:以元素方式添加所有输入张量。
参数:(1)inputs:张量对象列表,每个对象具有相同的形状和类型。(2)name:操作的名称(可选)。
例子:
import tensorflow as tf
conv1_weights= tf.get_variable(name='w1', shape=[1], initializer=tf.constant_initializer(0.1))
conv2_weights= tf.get_variable(name='w2', shape=[1], initializer=tf.constant_initializer(0.1))
#分别将变量conv1_weights、conv2_weights添加到名叫loss的集合中。
tf.add_to_collection('loss', conv1_weights)
tf.add_to_collection('loss', conv2_weights)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# 获取集合loss中的数据
a=tf.get_collection('loss')
# 将获取集合loss中的数据相加起来
b=tf.add_n(a)
print(sess.run(a))
print(sess.run(b))
结果:
[array([ 0.1], dtype=float32), array([ 0.1], dtype=float32)]
[ 0.2]