1. 前言
最近几天都耗在了词向量的训练以及可视化上,期间遇到了一些坑,也了解到一些容易忽略的知识点,在此一并记录下来,给自己也给大家一个警示。
2. keras中的TensorBoard
TensorBoard作为keras中回调函数(callback)的一种,能够从多方面监控训练的过程,及时反馈给使用者。
想象一下,通常模型的训练过程就像抛出一架纸飞机,“发射后不用管”,这往往会造成纸飞机的过早坠落,而使用回调函数来辅助训练的模型,像一架无人机,使用者能根据实际情况实时操控,也就是说使用者只要设定好想要监控训练的回调函数,在训练过程中就能完成各种任务。例如使用TensorBoard监控训练指标、验证指标、可视化词嵌入,可视化模型等。我们熟悉的keras进度条就是一个回调函数!
回调函数有多个,我们甚至能根据自己的实际需求自定义回调函数。这些放到以后再讲,今天我们只谈TensorBoard在keras中的用法。
2.1 使用TensorBoard
TensorBoard是一个基于浏览器的可视化工具,它内置在TensorFlow中。因此在使用它之前,应确保keras后端是TensorFlow。TensorBoard有如下功能:
1.监控指标
2.可视化模型架构
3.可视化词嵌入
4.可视化梯度与激活值
使用TensorBoard很简单,模型训练完成后,TensorBoard的一些日志信息也已经生成。我们需要把日志信息提取出来。在命令行中输入如下命令:
tensorboard --logdir=my_log_data
其中my_