使用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是很行的选择。它使用的是

)

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

model.fit_generator(datagen.flow(x_train, y_train,
,
callbacks=[TensorBoard(log_dir='./tmp/log')])

并且运行


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

开启tensorboard

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

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

也可以看出函数模型


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

 

keras与tensorboard结合使用的更多相关文章

  1. keras启用tensorboard

    在callback函数中添加tensorboard,启用tensorboard. # TensorBoard callback tensorboard_cb = K.callbacks.TensorB ...

  2. 【keras】用tensorboard监视CNN每一层的输出

    from keras.models import Sequential from keras.layers import Dense, Dropout from keras.layers import ...

  3. keras tensorboard的使用

    http://blog.csdn.net/xiaojiajia007/article/details/72865764 https://stackoverflow.com/questions/4211 ...

  4. 在Keras中使用tensorboard可视化acc等曲线

    1.使用tensorboard可视化ACC,loss等曲线 keras.callbacks.TensorBoard(log_dir='./Graph', histogram_freq= 0 , wri ...

  5. 【Tensorflow】tensorboard

    tbCallBack = tf.keras.callbacks.TensorBoard(log_dir='./log' , histogram_freq=0, write_graph=True, wr ...

  6. Tensorflow1.4 高级接口使用(estimator, data, keras, layers)

    TensorFlow 高级接口使用简介(estimator, keras, data, experiment) TensorFlow 1.4正式添加了keras和data作为其核心代码(从contri ...

  7. Keras 最新《面向小数据集构建图像分类模型》

    本文地址:http://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html ...

  8. TensorFlow2.0(9):TensorBoard可视化

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  9. 【tf.keras】实现 F1 score、precision、recall 等 metric

    tf.keras.metric 里面竟然没有实现 F1 score.recall.precision 等指标,一开始觉得真不可思议.但这是有原因的,这些指标在 batch-wise 上计算都没有意义, ...

随机推荐

  1. export,import ,export default 彻底弄痛

    ES6模块主要有两个功能:export和import 说白了就是一个淡出一个导入,就相当于以前的公共js样,哪个页面要用,就script 引入这个js  ,然后  无耻的调用这个js中的方法了. ex ...

  2. mybatis多表关联查询之resultMap单个对象

    resultMap的n+1方式实现多表查询(多对一) 实体类 创建班级类(Clazz)和学生类(Student),并在Student中添加一个Clazz类型的属性,用于表示学生的班级信息. mappe ...

  3. 如何遍历tabcontrol控件的所有的tabpage中的所有控件

    foreach(Control c in tabControl1.TabPages)这个循环的意思是说,遍历tabControl1中所有的TabPages,TabPages是包含在tabControl ...

  4. C#中生成的随机数为什么不随机?

    from:https://www.xcode.me/more/net-csharp-generate-random 随机数生成方法可以说是任何编程语言必备的功能,它的重要性不言而言,在C#中我们通常使 ...

  5. C#中换行的代码

    1.Windows 中的换行符"\r\n"2.Unix/Linux 平台换行符是 "\n".3.MessageBox.Show() 的换行符为 "\n ...

  6. 页面每隔n分钟轮换一个微信名和微信名

    1.前端index.html <head> <meta charset="UTF-8"> <title>n号循环</title> & ...

  7. Rpgmakermv(7) Chronus.js说明与简要翻译

    插件地址:https://github.com/triacontane/RPGMakerMV/blob/master/Chronus.js 日语版 ゲーム内で時刻と天候の概念を表現できるプラグインです ...

  8. C-Cow Sorting (置换群, 数学)

    Farmer John's N (1 ≤ N ≤ 10,000) cows are lined up to be milked in the evening. Each cow has a uniqu ...

  9. 把本地windows系统上的mysql数据库移到linux系统服务器上,mysql数据库拒绝访问

    Mysql连接报错 原因是:远程服务器不允许你的其他程序访问它的数据库.所以,我们要对远程服务器进行设置,使它允许你进行连接. 步骤:一.进入mysql客户端,输入:use mysql; 二.输入:s ...

  10. STL容器之vector

    [1]模板类vector 模板类vector可理解为广义数组.广义数组,即与类型无关的数组,具有与数组相同的所有操作. 那么,你或许要问:既然C++语言本身已提供了一个序列式容器array,为什么还要 ...