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 轴上有相对或绝对时间戳,这将使您看到进度。