@Author:Runsen

本想在Torch和Keras更新TensorBoard,还是决定扔在了tensorflow。

TensorBoard是用于可视化图形和其他工具以理解、调试和优化模型的界面。它是一种为机器学习工作流提供测量和可视化的工具。它有助于跟踪损失和准确性、模型图可视化、低维空间中的项目嵌入等指标。

在本篇博客中,将介绍 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/=255X_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_profilertorch_tb_profilerTensorBoard的一个插件,可以可视化GPU的情况,具体参考官方教程

  • https://pytorch.org/tutorials/intermediate/tensorboard_profiler_tutorial.html
  • https://github.com/pytorch/kineto/tree/main/tb_plugin

【小白学习tensorflow教程】二、TensorBoard可视化模型训练相关推荐

  1. 【深度学习】Tensorboard可视化模型训练过程和Colab使用

    [深度学习]Tensorboard可视化模型训练过程和Colab使用 文章目录 1 概述 2 手撸代码实现 3 Colab使用3.1 详细步骤3.2 Demo 4 总结 1 概述 在利用TensorF ...

  2. 【小白学习tensorflow教程】一、tensorflow基本操作、快速构建线性回归和分类模型

    @Author:Runsen TF 目前发布2.5 版本,之前阅读1.X官方文档,最近查看2.X的文档.tensorflow是非常强的工具,生态庞大. tensorflow提供了Keras的分支,这里 ...

  3. 【小白学习tensorflow教程】四、使用 tfhub中的模型EfficientDet-Lite2 进行对象检测

    @Author:Runsen tfhub是tensorflow官方提供训练好的模型的一个仓库.今天,我使用 tfhub中的模型EfficientDet-Lite2 进行对象检测 选择的模型是Effic ...

  4. 使用迁移学习后使用微调再次提高模型训练的准确率

    使用迁移学习后使用微调再次提高模型训练的准确率 1.微调 所谓微调:冻结模型库的底部的卷积层,共同训练新添加的分类器层和顶部部分卷积层.这允许我们"微调"基础模型中的高阶特征表示, ...

  5. SEO小白学习与实践(二):SEO相关基础知识与自有网站诊断

    前言 两年前建网站的时候,一切都是从百度检索开始的,遇到问题就问度娘.后来发现,这样的方法不是很好.度娘可以帮助解决铁定问题,但是非常系统的知识最好还是从书本上获取.于是,这次SEO学习咱就改变思路, ...

  6. 用深度学习做命名实体识别(四)——模型训练

    通过本文你将了解如何训练一个人名.地址.组织.公司.产品.时间,共6个实体的命名实体识别模型. 准备训练样本 下面的链接中提供了已经用brat标注好的数据文件以及brat的配置文件,因为标注内容较多放 ...

  7. 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练

    背景 我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841.使用Te ...

  8. (二)为AI模型训练准备影像

    目录 介绍 Roboflow数据集标准化 人脸数据集的正规化 数据集扩充 下一步 在这里,我将向您展示如何收集.预处理和扩充模型训练所需的数据. 介绍 在本系列的上一篇文章中,我们讨论了创建口罩检测器 ...

  9. 深度学习炼丹-超参数设定和模型训练

    前言 网络层内在参数 使用 3x3 卷积 使用 cbr 组合 尝试不同的权重初始化方法 图片尺寸与数据增强 batch size 设定 背景知识 batch size 定义 选择合适大小的 batch ...

最新文章

  1. guava cache简单学习笔记
  2. Hadoop2.0新特性
  3. SQL Server 2014安装教程
  4. Eclipse配置工程自动执行ant实现热部署
  5. Entity Framework 4.1 : 贪婪加载和延迟加载
  6. [转]UE/UI/UCE/UED的区别 附UED团队网站链接
  7. python中avg函数的使用_PostgreSQL avg()函数
  8. 机器学习:弱监督学习简介
  9. 下载神器aria2的yaaw WebUI用法
  10. ThoughtWorks培训感想
  11. 从小米智能家居入手,揭秘物联网关键技术
  12. PhotoShop,CSS 文字间距 与像素之间的换算
  13. hutool生成二维码
  14. NLP入门(八)使用CRF++实现命名实体识别(NER)
  15. 【排行榜】Carla leaderboard 排行榜 运行与参与手把手教学
  16. synaptics linux驱动程序,Synaptics
  17. Android adb常用命令 app流量消耗获取
  18. 手机中的便签如何保存到另一手机中
  19. 这是他本赛季第一张黄牌
  20. 【Docker篇】Docker镜像加载原理,UnionFS(联合文件系统),镜像Commit

热门文章

  1. 电脑学习方法_怎样快速学习和熟悉电脑知识?|从小白到大神的快捷方法
  2. vim 环境变量 encoding、fileencoding、fileencodings 的作用
  3. mysql 6.2使用_2. MYSQL基本使用(2)
  4. vi的插入模式下退格和方向键不能使用的解决方法
  5. java内存图怎么画,jvm内存模型怎么画?简单美观的模型图制作软件
  6. 前端常见知识点四之webscoket
  7. java udp 同一个端口_java – 系统中的两个不同的UDP套接字可以绑定相同的端口吗?...
  8. rac下asm管理的表空间-数据文件的重命名
  9. case的执行顺序 嵌套使用
  10. ecs服务器内网连接_让不同地域云服务器ECS和云数据库内网互通