我目前正在从事一个机器学习项目。 我将Python3与tensorflow一起使用来训练CNN神经网络,我想通过使用tensorboard来衡量其性能。
我想测量每个时期的损失值。但是,我没有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
我不知道。有任何提示或提示吗?谢谢
答案 0 :(得分:1)
如果要在水平轴上查看历元,则必须传递global_step
参数以及摘要(请参见tf.summary.FileWriter.add_summary
的文档)。在您的情况下,应该是:
writer.add_summary(lossSummary, step)
writer.add_summary(epochSummary, step)
或者,如果您在此面板中更改“水平轴”选择,则:
从“ Step”到“ Relative”或“ Wall”,您将在X轴上具有相对或绝对时间戳记,可让您查看进度。