keras与tensorboard结合使用

使用tensorboard将keras的训练过程显示出来(动态的、直观的)是一个绝好的主意,特别是在有架设好的VPS的基础上,这篇文章就是一起来实现这个过程。

一、主要原理

keras的在训练(fit)的过程中,显式地生成log日志;使用tf的tensorboard来解析这个log日志,并且通过网站的形式显示出来。

fit的时候加上callbacks=[TensorBoard(log_dir='./tmp/log')] 将运行的结果保存在'./tmp/log'下。
执行tensorboard 命令的时候指明: --logdir=./temp/log 

二、实现步骤

我们需要选择一段运行绝对正确,而且需要一定时间的算法:使用keras自己提供的“cifar10_cnn.py”运行一个比较多的

epoch是很行的选择。它使用的是

# Fit the model on the batches generated by datagen.flow().
model.fit_generator(datagen.flow(x_train, y_train,
batch_size=batch_size),
epochs=epochs,
validation_data=(x_test, y_test),
workers=4)

我不知道是否有效,将其修改为:

model.fit_generator(datagen.flow(x_train, y_train,
batch_size=batch_size),
epochs=epochs,
validation_data=(x_test, y_test),
workers=4,
callbacks=[TensorBoard(log_dir='./tmp/log')])

并且运行


很遗憾,在1024mb的vps上面,cifar_10跑不起来,最后还是选择跑mnist

开启tensorboard

需要注意的是,这里所有的操作都是在
~/keras/examples 目录下进行的,有绝对地址的说法

三、观察结果
本例中出现了2个项目,其他的都被隐藏起来了
用这种方法来看曲线是很直观的

也可以看出函数模型


后面就是tensorboard的应用问题,但是它和keras的结合,使用本文中相关知识就可以解决了,感谢阅读,希望有所帮助。

 




posted @ 2018-05-16 19:57 jsxyhelu 阅读(...) 评论(...) 编辑 收藏