如何在训练过程中直观地观察loss和acc的曲线?
TensorBoard是Tensorflow可视化工具,可以用来展现标量、文本、音频、图像、网络结构、网络各层权值偏移量的统计直方图等。
Tensorboard虽然是个好工具,但对于计算机知识欠缺的小白,操作稍有些麻烦。
操作关键点:基于Web浏览器可视化,即Tensorflow将监控数据写入文件、需要利用浏览器Web后端查看对应的数据。
- 创建监控文件
# log_dir 监控文件地址
summary_writer = tf.summary.create_file_writer(log_dir)
- 写入可视化数据
with summary_writer.as_default():
# log_dir 可视化图像
tf.summary.image('image title', batch_img, max_outputs=9, step=step)
# log_dir 可视化loss
tf.summary.scalar('train_loss', float(loss), step=step)
# log_dir 可视化acc
tf.summary.scalar('test_acc', float(total_correct/total), step=step)
正常运行pyhon程序,可以看到之前创建监控文件中log_dir中有了结果文件。
如何可视化显示呢,关键一步来了!
- 启动tensorboard
Ctrl+R cmd进入windows命令行,cd 进入创建监控文件中log_dir的目录。启动tensorboard
tensorboard --logdir .
或者直接
tensorboard --logdir filepath.
如果出现如下warning,可参看博文解决
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available
出现命令行中如下出现TensorBoard 2.1.1 at http://localhost:6006/ (Press CTRL+C to quit) 说明已经成功开启Web服务器。
最后,打开任意浏览器,输入URL http://localhost:6006/
就可以在小黄页中出现你想看的图啦
官网:https://www.tensorflow.org/tensorboard
Get_Started代码:https://www.tensorflow.org/tensorboard/get_started