kera TensorBoard的可视化和断点续训同时处理

一、实现可视化的步骤

从keras.callbacks中导入Tensorboard类
from keras.callbacks import TensorBoard
② 在model.fit中添加callbacks=[TensorBoard(log_dir=log_dir)]
model.fit_generator(data_generator_wrap(lines[:num_train], batch_size, input_shape, anchors, num_classes),
        steps_per_epoch=max(1, num_train//batch_size),
        validation_data=data_generator_wrap(lines[num_train:], batch_size, input_shape, anchors, num_classes),
        validation_steps=max(1, num_val//batch_size),
        epochs=3,
        initial_epoch=0,
        callbacks=[TensorBoard(log_dir=log_dir)])

提醒:log_dir是存储tensorfboard信息的位置,我在这里是"logs/000",训练完成可以查看相相应的路径是否已经生成对应的二进制文件

③ 调用tensorboard信息实现可视化效果

在train.py文件夹中打开终端,输入"tensorboard --logdir = path",请将path改为自己的路径。我的path为logs/000,打开输出的网址即可看到效果如下:

kera TensorBoard的可视化和断点续训同时处理

提示:本次为了展示效果,只设置了epoch=3的训练效果

二、同时实现断点续训和tensorboard

同时实现断点续训和tensorboard,只需在model.fit更改一下callbacks即可。需要注意的是callbacks只能以列表的形式接收输入,否则报错,实现代码如下:

model.fit_generator(data_generator_wrap(lines[:num_train], batch_size, input_shape, anchors, num_classes),
        steps_per_epoch=max(1, num_train//batch_size),
        validation_data=data_generator_wrap(lines[num_train:], batch_size, input_shape, anchors, num_classes),
        validation_steps=max(1, num_val//batch_size),
        epochs=3,
        initial_epoch=0,
        callbacks=[checkpoint,TensorBoard(log_dir=log_dir)])
The end.