tensorflow可视化Keras框架中Tensorboard使用示例

目录
  • Tensorboard详解
  • 使用例子
    • 1、loss和acc
    • 2、权值直方图
    • 3、梯度直方图
  • 实现代码

Tensorboard详解

该类在存放在keras.callbacks模块中。拥有许多参数,主要的参数如下:

1、log_dir: 用来保存Tensorboard的日志文件等内容的位置

2、histogram_freq: 对于模型中各个层计算激活值和模型权重直方图的频率。

3、write_graph: 是否在 TensorBoard 中可视化图像。

4、write_grads: 是否在 TensorBoard 中可视化梯度值直方图。

5、batch_size: 用以直方图计算的传入神经元网络输入批的大小。

6、write_images: 是否在 TensorBoard中将模型权重以图片可视化。

7、update_freq: 常用的三个值为’batch’ 、 ‘epoch’ 或 整数。当使用 ‘batch’ 时,在每个 batch 之后将损失和评估值写入到 TensorBoard 中。 ‘epoch’ 类似。如果使用整数,会在每一定个样本之后将损失和评估值写入到 TensorBoard 中。

默认值如下:

log_dir='./logs',  # 默认保存在当前文件夹下的logs文件夹之下
histogram_freq=0,
batch_size=32,
write_graph=True,  #默认是True,默认是显示graph的。
write_grads=False,
write_images=False,
update_freq='epoch'

使用例子

以手写体为例子,我们打开histogram_freq和write_grads,也就是在Tensorboard中保存权值直方图和梯度直方图。

打开CMD,利用tensorboard --logdir=logs生成tensorboard观测网页。

1、loss和acc

2、权值直方图

3、梯度直方图

实现代码

import numpy as np
from keras.layers import Input, Dense, Dropout, Activation,Conv2D,MaxPool2D,Flatten
from keras.datasets import mnist
from keras.models import Model
from keras.utils import to_categorical
from keras.callbacks import TensorBoard
if __name__=="__main__":
    (x_train,y_train),(x_test,y_test) = mnist.load_data()
    x_train=np.expand_dims(x_train,axis=-1)
    x_test=np.expand_dims(x_test,axis=-1)
    y_train=to_categorical(y_train,num_classes=10)
    y_test=to_categorical(y_test,num_classes=10)
    batch_size=128
    epochs=10
    inputs = Input([28,28,1])
    x = Conv2D(32, (5,5), activation='relu')(inputs)
    x = Conv2D(64, (5,5), activation='relu')(x)
    x = MaxPool2D(pool_size=(2,2))(x)
    x = Flatten()(x)
    x = Dense(128, activation='relu')(x)
    x = Dropout(0.5)(x)
    x = Dense(10, activation='softmax')(x)
    model = Model(inputs,x)
    model.compile(loss='categorical_crossentropy', optimizer="adam",metrics=['acc'])
    Tensorboard= TensorBoard(log_dir="./model", histogram_freq=1,write_grads=True)
    history=model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, shuffle=True, validation_split=0.2,callbacks=[Tensorboard])

以上就是tensorflow可视化Keras框架中Tensorboard使用示例的详细内容,更多关于Keras Tensorboard可视化的资料请关注我们其它相关文章!

(0)

相关推荐

  • 使用tensorboard可视化loss和acc的实例

    1.用try...except...避免因版本不同出现导入错误问题 try: image_summary = tf.image_summary scalar_summary = tf.scalar_summary histogram_summary = tf.histogram_summary merge_summary = tf.merge_summary SummaryWriter = tf.train.SummaryWriter except: image_summary = tf.sum

  • tensorboard 可视化之localhost:6006不显示的解决方案

    tensorlfow网络模型可视化.baidu了一些方法,现在介绍下我的流程和遇到的问题: 配置 window7 tensorlfow1.5 anaconda 启动tensorboard 1.启动anaconda Prompt,输入: # 启动pycharm或者模型用到的环境 activate tensorflow #启动tensorboard tensorboard --logdir=C:\Users\lammy\PycharmProjects\untitled1\logs\mnist_sof

  • pytorch使用tensorboardX进行loss可视化实例

    最近pytorch出了visdom,也没有怎么去研究它,主要是觉得tensorboardX已经够用,而且用起来也十分的简单 pip install tensorboardX 然后在代码里导入 from tensorboardX import SummaryWriter 然后声明一下自己将loss写到哪个路径下面 writer = SummaryWriter('./log') 然后就可以愉快的写loss到你得这个writer了 niter = epoch * len(train_loader) +

  • Tensorflow的可视化工具Tensorboard的初步使用详解

    当使用Tensorflow训练大量深层的神经网络时,我们希望去跟踪神经网络的整个训练过程中的信息,比如迭代的过程中每一层参数是如何变化与分布的,比如每次循环参数更新后模型在测试集与训练集上的准确率是如何的,比如损失值的变化情况,等等.如果能在训练的过程中将一些信息加以记录并可视化得表现出来,是不是对我们探索模型有更深的帮助与理解呢? Tensorflow官方推出了可视化工具Tensorboard,可以帮助我们实现以上功能,它可以将模型训练过程中的各种数据汇总起来存在自定义的路径与日志文件中,然后

  • Tensorflow 自带可视化Tensorboard使用方法(附项目代码)

    Tensorboard: 如何更直观的观察数据在神经网络中的变化,或是已经构建的神经网络的结构.上一篇文章说到,可以使用matplotlib第三方可视化,来进行一定程度上的可视化.然而Tensorflow也自带了可视化模块Tensorboard,并且能更直观的看见整个神经网络的结构. 上面的结构图甚至可以展开,变成: 使用: 结构图: with tensorflow .name_scope(layer_name): 直接使用以上代码生成一个带可展开符号的一个域,并且支持嵌套操作: with tf

  • tensorflow可视化Keras框架中Tensorboard使用示例

    目录 Tensorboard详解 使用例子 1.loss和acc 2.权值直方图 3.梯度直方图 实现代码 Tensorboard详解 该类在存放在keras.callbacks模块中.拥有许多参数,主要的参数如下: 1.log_dir: 用来保存Tensorboard的日志文件等内容的位置 2.histogram_freq: 对于模型中各个层计算激活值和模型权重直方图的频率. 3.write_graph: 是否在 TensorBoard 中可视化图像. 4.write_grads: 是否在 T

  • Keras框架中的epoch、bacth、batch size、iteration使用介绍

    1.epoch Keras官方文档中给出的解释是:"简单说,epochs指的就是训练过程接中数据将被"轮"多少次" (1)释义: 训练过程中当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个epoch,网络会在每个epoch结束时报告关于模型学习进度的调试信息. (2)为什么要训练多个epoch,即数据要被"轮"多次 在神经网络中传递完整的数据集一次是不够的,对于有限的数据集(是在批梯度下降情况下),使用一个迭代过程,更新权重一

  • TensorFlow可视化工具TensorBoard默认图与自定义图

    目录 一.图 1.默认图 1.调用方法查看默认图属性 2..graph查看图属性 代码 2.自定义图(创建图) 1.创建自定义图 2.创建静态图 3.开启会话(运行) 4.查看自定义图 代码 二.TensorBoard可视化 1.可视化处理 2. 打开TensorBoard 1.先移到文件夹的前面 2. 打开TensorBoard(从文件中获取数据) 3.打开给定的网址 总代码 一.图 图:数据(张量Tenrsor)+ 操作(节点Operation) (静态) 图可以用:1.默认图:2.自定义图

  • 对Tensorflow中tensorboard日志的生成与显示详解

    TensorBoard是TensorFlow下的一个可视化的工具,能够帮助我们在训练大规模神经网络过程中出现的复杂且不好理解的运算.TensorBoard能展示你训练过程中绘制的图像.网络结构等. 1. 构建简单的TensorBoard日志输出 import tensorflow as tf input1 = tf.constant([1.0, 2.0, 3.0], name="input1") input2 = tf.Variable(tf.random_uniform([3], n

  • Nest框架中集成使用Swagger示例说明

    目录 Swagger Nest 中使用 Swagger 安装 初始化 Swagger 接口中使用 Swagger Swagger 是一个能够生成.描述.调用和可视化的 RESTful 风格的 Web 服务.主要是对 REST API 接口自动生成接口说明文档.生成的接口文档也是直接在线测试.即在可视化的Web 界面上直接输入参数对应的值就可以在线测试接口. Nest 框架也提供了一个专门用于支持 Swagger 规范的模块. Nest 中使用 Swagger 安装 首先需要安装所需要的 swag

  • Yii框架中jquery表单验证插件用法示例

    本文实例讲述了Yii框架中jquery表单验证插件用法.分享给大家供大家参考,具体如下: 运行效果图如下: 视图层: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

  • Zend Framework框架中实现Ajax的方法示例

    本文实例讲述了Zend Framework框架中实现Ajax的方法.分享给大家供大家参考,具体如下: 开发平台:Windows XP SP2 测试平台:FreeBSD 7.0 开发工具:Netbeans 6.1 使用框架:Zend Framework 1.5.2 数据库: MySQL 5.0.51a 所需的数据库表和ZF相关目录以及文件: 一.表: mysql> select * from news; +----+-------+---------------------+ | id | tit

  • CI框架中redis缓存相关操作文件示例代码

    本文实例讲述了CI框架中redis缓存相关操作文件.分享给大家供大家参考,具体如下: redis缓存类文件位置: 'ci\system\libraries\Cache\drivers\Cache_redis.php' <?php /** * CodeIgniter * * An open source application development framework for PHP 5.2.4 or newer * * NOTICE OF LICENSE * * Licensed under

  • thinkPHP框架中layer.js的封装与使用方法示例

    本文实例讲述了thinkPHP框架中layer.js的封装与使用方法.分享给大家供大家参考,具体如下: v层:(还没实现功能的) <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title>添加</title> </head> <body> <form action="{

  • thinkPHP5.1框架中Request类四种调用方式示例

    本文实例讲述了thinkPHP5.1框架中Request类四种调用方式.分享给大家供大家参考,具体如下: 1. 传统调用 访问方式:http://127.0.0.1/demo/demo3/test?name=kk&age=22 <?php /** * Created by PhpStorm. * User: 10475 * Date: 2018/8/27 * Time: 22:59 */ namespace app\demo\controller; use think\Request; cl

随机推荐