入门tensorflow教程之TensorBoard可视化模型训练
作者:刘润森! 发布时间:2023-04-18 22:37:08
标签:TensorBoard,可视化,tensorflow
TensorBoard是用于可视化图形
和其他工具以理解、调试和优化模型的界面。
它是一种为机器学习工作流提供测量和可视化的工具。
它有助于跟踪损失和准确性、模型图可视化、低维空间中的项目嵌入等指标。
下面,我们使用MNIST 数据的图像分类模型 ,将首先导入所需的库并加载数据集。
模型的建立使用最简单的顺序模型
import tensorflow as tf
(X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()
from tensorflow.keras.utils import np_utils
X_train=X_train.astype('float32')
X_test=X_test.astype('float32')
X_train/=255
X_test/=255
X_train = X_train.reshape(X_train.shape[0], 28, 28, 1).astype('float32')
X_test = X_test.reshape(X_test.shape[0], 28, 28, 1).astype('float32')
y_train = np_utils.to_categorical(y_train, 10)
y_test = np_utils.to_categorical(y_test, 10)
model = Sequential()
model.add(Convolution2D(32, 3, 3, input_shape=(28, 28, 1)))
model.add(Activation('relu'))
model.add(Dropout(0.25))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128))
model.add(Dense(128))
model.add(Activation('relu'))
model.add(Dense(10))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
keras API 训练模型时,
创建了一个 tensorboard 回调
以确保将指标记录在指定的目录中。
这里保存到logs/fit
import datetime
!rm -rf ./logs/
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback=tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
model.fit(x=X_train, y=y_train,epochs=30,validation_data=(X_test, y_test), callbacks=[tensorboard_callback])
如果使用colab
,并不支持使用终端
对于 Windows 用户:tensorboard --logdir= logs/fitg
Tensorboard 位于:http://localhost:6006
如果使用colab,需要加载TensorBoard扩展程序
%load_ext tensorboard
%tensorboard --logdir logs/fit
from tensorboard import notebook
notebook.list
notebook.display(port=6006, height=1000)
如果训练迭代5k到55k,
TensorBoard会给出测试集的大概结果
如果在torch中是使用TensorBoard,在PyTorch 1.8.1 版本的发布,需要使用 PyTorch Profiler,
需要安装torch_tb_profiler
。
torch_tb_profiler
是TensorBoard
的一个插件,可以可视化GPU的情况,
具体参考官方教程
https://pytorch.org/tutorials/intermediate/tensorboard_profiler_tutorial.html
https://github.com/pytorch/kineto/tree/main/tb_plugin
来源:https://maoli.blog.csdn.net/article/details/119258143


猜你喜欢
- 1、列表界面和其他模块展示处理常规的列表展示界面,一般分为几个区域,一个是查询区域,一个是列表展示区域,一个是底部的分页组件区域。查询区域主
- 越简单越丰富——极简网页设计视觉呈现技巧如何让杂乱又咄咄逼人的网页变得轻薄简洁而美观,又需保留完整功能、同时很好的区分出重点模块?这往往是让
- Python版本:3.5网上找了好多资料都没有直观的写出怎么批量执行,so,整理了一个小程序。最初是为了用Python进行单元测试,同目录下
- wheel文件Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改
- 有的同学会说,可以使用源代码搜索的办法。的确,对于一个相对简单的页面,这个方法时常奏效。但是,对于构成相对复杂的页面(比如页面嵌入很多脚本文
- stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符。start必需。一个非负的
- 本人最近在学习python,在看了一些教程后,用python写了一个简单的云音乐播放器,下面把主要代码贴上来,其中用到了github上他人写
- 从初学 django 到现在(记得那时最新版本是 1.8,本文发布时已经发展到 3.1 了),开发环境一直都是使用从官方文档或者别的教程中学
- 在绝大多数查询中,MySQL使用哪种校对规则进行比较是很显然的。例如,在下列情况中,校对规则明显的是“列x的列校对规则”:SELECT&nb
- 环境准备Python3.6pip install Django==2.0.1pip install celery==4.1.0pip ins
- 前言之前做过pyqt的一个简单界面,在一个窗口(MainWindow)中实现一些操作;之前嫌麻烦没有去做多窗口和它们的切换功能。最近研究了下
- 刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用。在Python中
- 1)正则表达式的使用。 #正则表达式的模块 import re #正则表达式 rePattern = '.*[0-9]{4}'
- 2006-10-8表数据:tab1id name numA  
- 1、前言在Python中元组是一个和列表非常类似的数据类型,不同之处就是列表中的元素可以修改,而元组之中的元素不可以修改。2、定义和使用元组
- CNN(Convolutional Neural Networks) 卷积神经网络简单讲就是把一个图片的数据传递给CNN,原涂层是由RGB组
- 使用tkFileDialog实现文件选择、保存和路径选择概述看了下Tkinter的文档,对于Pop-up dialog有三类,现在用到的是t
- 1、查看当前数据库支出的存储引擎方法1:mysql> show engines \G;************************
- 一、前言进程,一个新鲜的字眼,可能有些人并不了解,它是系统某个运行程序的载体,这个程序可以有单个或者多个进程,一般来说,进程是通过系统CPU
- 前台页面 $.ajax({ type: "post", contentType: "application/j