tensorboard 有两个一维图而不是一个二维图的问题
Trouble with tensorboard two 1D graphs instead of one 2D graph
我目前正在从事一个机器学习项目。
我使用 Python3 和 tensorflow 来训练 CNN 神经网络,我想通过使用 tensorboard 来衡量它的性能。
我想测量每个时期的损失值。但是,我没有只有 1 张图表,X 是时代的价值,Y 是损失的价值,我有 2 张图表,一张是时代值,另一张是损失值。
我把截图放在这里:
我的代码中有训练部分:
with tf.Session(config = config) as sess:
sess.run(tf.global_variables_initializer())
writer = tf.summary.FileWriter(graphDirectory, sess.graph)
# Generate shepp logan for validation
x_arr_validate, y_arr_validate, x_true_arr_validate, y_true_arr_validate = generateData(datasize,nbiter,reco_space,operator,pseudoinverse,validation=True )
for step in tqdm(range(epoch)):
#Generate trading data
x_arr, y_arr, x_true_arr, y_true_arr = generateData(datasize,nbiter,reco_space,operator,pseudoinverse)
#Training
feed_dict = {x0: x_arr,
x_true: x_true_arr,
y: y_arr}
_,loss_training = sess.run([optimizer, loss], feed_dict)
#Validation
feed_dictValidate = {x0 : x_arr_validate,
x_true : x_true_arr_validate,
y : y_arr_validate}
x_values_result, loss_result = sess.run([x_values, loss], feed_dictValidate)
lossSummary = tf.Summary(value=[tf.Summary.Value(tag="loss", simple_value=loss_result)])
epochSummary = tf.Summary(value=[tf.Summary.Value(tag="epoch", simple_value=step)])
writer.add_summary(lossSummary)
writer.add_summary(epochSummary)
saver.save(sess, sessFileName,write_meta_graph=True)
writer.close()
我尝试改变:
writer.add_summary(lossSummary)
writer.add_summary(epochSummary)
作者:
writer.add_summary(lossSummary,epochSummary)
但这不起作用。
我也尝试创建一个数组:
step_per_epoch = []
...
x_values_result, loss_result = sess.run([x_values, loss], feed_dictValidate)
step_per_epoch.append(loss_result)
lossSummary = tf.Summary(value=[tf.Summary.Value(tag="loss", simple_value=step_per_epoch)])
writer.add_summary(lossSummary)
但出现以下错误:
lossSummary = tf.Summary(value=[tf.Summary.Value(tag="loss", simple_value=loss_per_epoch)])
TypeError: [] has type list, but expected one of: int, long, float
我不知道。任何提示或提示?谢谢
如果你想在水平轴上看到历元,那么你必须传递一个 global_step
参数和摘要(参见 tf.summary.FileWriter.add_summary
的文档)。在你的情况下,那将是:
writer.add_summary(lossSummary, step)
writer.add_summary(epochSummary, step)
或者,如果您在此面板中更改 "Horizontal Axis" 选择:
从 "Step" 到 "Relative" 或 "Wall" 您将在 X 轴上有相对或绝对时间戳,这将使您看到进度。
我目前正在从事一个机器学习项目。 我使用 Python3 和 tensorflow 来训练 CNN 神经网络,我想通过使用 tensorboard 来衡量它的性能。
我想测量每个时期的损失值。但是,我没有只有 1 张图表,X 是时代的价值,Y 是损失的价值,我有 2 张图表,一张是时代值,另一张是损失值。
我把截图放在这里:
我的代码中有训练部分:
with tf.Session(config = config) as sess:
sess.run(tf.global_variables_initializer())
writer = tf.summary.FileWriter(graphDirectory, sess.graph)
# Generate shepp logan for validation
x_arr_validate, y_arr_validate, x_true_arr_validate, y_true_arr_validate = generateData(datasize,nbiter,reco_space,operator,pseudoinverse,validation=True )
for step in tqdm(range(epoch)):
#Generate trading data
x_arr, y_arr, x_true_arr, y_true_arr = generateData(datasize,nbiter,reco_space,operator,pseudoinverse)
#Training
feed_dict = {x0: x_arr,
x_true: x_true_arr,
y: y_arr}
_,loss_training = sess.run([optimizer, loss], feed_dict)
#Validation
feed_dictValidate = {x0 : x_arr_validate,
x_true : x_true_arr_validate,
y : y_arr_validate}
x_values_result, loss_result = sess.run([x_values, loss], feed_dictValidate)
lossSummary = tf.Summary(value=[tf.Summary.Value(tag="loss", simple_value=loss_result)])
epochSummary = tf.Summary(value=[tf.Summary.Value(tag="epoch", simple_value=step)])
writer.add_summary(lossSummary)
writer.add_summary(epochSummary)
saver.save(sess, sessFileName,write_meta_graph=True)
writer.close()
我尝试改变:
writer.add_summary(lossSummary)
writer.add_summary(epochSummary)
作者:
writer.add_summary(lossSummary,epochSummary)
但这不起作用。
我也尝试创建一个数组:
step_per_epoch = []
...
x_values_result, loss_result = sess.run([x_values, loss], feed_dictValidate)
step_per_epoch.append(loss_result)
lossSummary = tf.Summary(value=[tf.Summary.Value(tag="loss", simple_value=step_per_epoch)])
writer.add_summary(lossSummary)
但出现以下错误:
lossSummary = tf.Summary(value=[tf.Summary.Value(tag="loss", simple_value=loss_per_epoch)])
TypeError: [] has type list, but expected one of: int, long, float
我不知道。任何提示或提示?谢谢
如果你想在水平轴上看到历元,那么你必须传递一个 global_step
参数和摘要(参见 tf.summary.FileWriter.add_summary
的文档)。在你的情况下,那将是:
writer.add_summary(lossSummary, step)
writer.add_summary(epochSummary, step)
或者,如果您在此面板中更改 "Horizontal Axis" 选择:
从 "Step" 到 "Relative" 或 "Wall" 您将在 X 轴上有相对或绝对时间戳,这将使您看到进度。