tensorflow——tf.summary()

tf.summary.scalar(name, tensor, collections=None, family=None)

输出包含单个标量值的summary协议缓冲区。生成的Summary包含一个包含输入Tensor的Tensor.proto。

参数

name:生成节点的名字,也会作为TensorBoard中的系列的名字。

tensor:包含一个值的实数Tensor。

collection:图的集合键值的可选列表。新的求和op被添加到这个集合中。缺省为[GraphKeys.SUMMARIES]

family:可选项;设置时用作求和标签名称的前缀,这影响着TensorBoard所显示的标签名。

返回

返回一个字符串类型的标量张量,包含一个Summary protobuf

错误

tensor有错误的类型或shapp
一般在画loss,accuary时会用到这个函数。

with tf.name_scope("Loss") as scope:
	self.loss = tf.losses.mean_squared_error(self.y, self.output) 	
	self.train_loss_summ = tf.summary.scalar("Loss", self.loss)

tf.summary.merge_all(key=tf.GraphKeys.SUMMARIES, scope=None)

合并默认图表中收集的所有summary。

参数

kay:GraphKey用于收集summary。 默认为GraphKeys.SUMMARIES。
scope:可选范围,用于使用re.match过滤summary操作

返回

如果未收集dummary ,则返回None。 否则返回string类型标量Tensor ,其中包含由合并产生的序列化Summary协议缓冲区。

错误

RuntimeError: 如果调用急于执行启用。

tf.summary.FileWritter(path,sess.graph)

指定一个文件用来保存图

		self.train_writer = tf.summary.FileWriter(self.graph_path+"train/")
		self.train_writer.add_graph(self.sess.graph)
		self.val_writer = tf.summary.FileWriter(self.graph_path+"val/")
		self.val_writer.add_graph(self.sess.graph)

tf.GraphKeys.UPDATE_OPS

关于tf.GraphKeys.UPDATE_OPS,这是一个tensorflow的计算图中内置的一个集合,其中会保存一些需要在训练操作之前完成的操作,并配合tf.control_dependencies函数使用。

tf.control_dependencies

首先我们先介绍tf.control_dependencies,该函数保证其辖域中的操作必须要在该函数所传递的参数中的操作完成后再进行。

with name_scope('optimizer')as scope:
            update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
  			with tf.control_dependencies(update_ops):
				self.solver = tf.train.AdamOptimizer(learning_rate=0.001).minimize(self.loss)

猜你喜欢

转载自blog.csdn.net/cherry1307/article/details/88292757