首页 / 资讯中心 / 文章详情

【Tensorflow实战系列】Tensorflow: tf.add_to_collection()和tf.get_collection()的用法

【Tensorflow实战系列】Tensorflow: tf.add_to_collection()和tf.get_collection()的用法 ★ FEATURED ARTICLE
在tensorflow的使用中经常会看到tf.add_to_collection()和tf.get_collection()这两个函数成对的出现那么这两个函数到底有什么用呢用个小例子解释一下importtensorflowastfimportnumpyasnp v1tf.get_variable(namev1,shape[1],initializertf.constant_initializer(1))tf.add_to_collection(loss,v1)v2tf.get_variable(namev2,shape[1],initializertf.constant_initializer(2))tf.add_to_collection(loss,v2)withtf.Session()assess:sess.run(tf.initialize_all_variables())print(tf.get_collection(loss))print(sess.run(tf.get_collection(loss)))print(type(sess.run(tf.get_collection(loss))))print(sess.run(tf.add_n(tf.get_collection(loss))))可以看到代码中我们创建了两个tensor一个初始化为1一个初始化为2通过使用tf.add_to_collection()把两个变量加载到一个名为‘loss’的list里面tf.get_collection()可以获得对应的list里面存储的变量最后通过tf.add_n把‘loss’里面的变量相加求和。[tf.Variable v1:0 shape(1,) dtypefloat32_ref, tf.Variable v2:0 shape(1,) dtypefloat32_ref] [array([1.], dtypefloat32), array([2.], dtypefloat32)] class list [3.]看到代码中的命名我们也可以推测一下这个在tf里面经常可以用来保存多个loss的值。总结一下tf.add_to_collection把变量放入一个list中把很多变量变成一个列表tf.get_collection从一个列表中取出全部变量获得的对象是一个列表
阅读完成 · 觉得有帮助?
咨询建站