欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

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

时间:2023-01-27 10:12:58|栏目:Python代码|点击:

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])

上一篇:Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)

栏    目:Python代码

下一篇:Python使用apscheduler模块设置定时任务的实现

本文标题:tensorflow可视化Keras框架中Tensorboard使用示例

本文地址:http://www.codeinn.net/misctech/224523.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有