python - 张量板上显示的标量摘要不正确
问题描述
我正在尝试随机生成 100 个唯一数字,然后将它们写为摘要。但是,每次摘要编写器都会写入变量的默认值。
import warnings
with warnings.catch_warnings():
warnings.filterwarnings("ignore", category=FutureWarning)
import tensorflow as tf
tf.compat.v1.reset_default_graph()
x = tf.compat.v1.Variable(name="X", shape=[], initial_value=0.0)
summary = tf.compat.v1.summary.scalar("X_summary", x)
summary_op = tf.compat.v1.summary.merge_all()
with tf.compat.v1.Session() as sess:
sess.run(tf.compat.v1.global_variables_initializer())
writer = tf.compat.v1.summary.FileWriter("train_dir", sess.graph)
for step in range(100):
x = tf.random.normal(stddev=0.01, shape=[1])
x, summary_ = sess.run([x, summary_op])
writer.add_summary(summary_, step)
摘要作者将所有值都写为 0。有人可以帮我指出我的错误吗?
解决方案
试试这个:我给变量声明一个初始化器,它会产生一个随机的正常值,而之前你只是给出默认值零。
import tensorflow as tf
tf.reset_default_graph()
x_scalar = tf.get_variable('x_scalar', shape=[], initializer=tf.truncated_normal_initializer(mean=0, stddev=1))
first_summary = tf.summary.scalar(name='normal_x', tensor=x_scalar)
init = tf.global_variables_initializer()
with tf.Session() as sess:
writer = tf.summary.FileWriter('./train_dir', sess.graph)
for step in range(100):
sess.run(init)
summary = sess.run(first_summary)
writer.add_summary(summary, step)
推荐阅读
- ios - 在iOS中截取带有标签和透明背景的视图并将其上传到服务器
- python - 如何在 ThreadPool 中延迟执行?
- java - 如何在 Eclipse 问题视图中将自定义项添加到属性对话框
- java - 如何清除特定活动的缓存?
- oracle - ORA-06561 在执行 PL/SQL 过程时
- python - 如何以有效的方式根据来自另一个数据帧的值修改数据帧中的值?
- android - 在 sharedPreference 或 SQL 中保存对象或对象 ID
- php - CMYK/RGB 颜色空间如何在 pdf 和图像中工作,它如何影响它们的相互转换?
- azure-devops - 在我们的 Azure DevOps 组织中搜索存储库
- python - 如何在 Python 中指定(什么)的方法返回类型列表?