tensorflow版本:1.11.0
最近在改bert的代码,想要通过tensorboard查看修改后的bert模型训练过程中的参数变化。bert的代码用的是Estimator结构写的,Estimator是tensorflow的一个高阶API(一个关于Estimator的中文文档),封装得比较好,但是相应地修改起来不是很方便。一般来说,在Estimator的train/eval/predict中添加自己的逻辑,需要使用hook. 事实上,tensorflow也提供了tf.train.SummarySaverHook
用来序列化summary tensor到磁盘文件。一开始我在model_fn
中添加了loss_summary = tf.summary.scalar('loss', loss)
之后,在main
里写下了:
merged_summary = tf.summary.merge_all()
summary_hook = tf.train