在TensorBoard之中查看模型结构图TensorFlow入门教程

在之前的学习过程之中,我们学习了如何自定义查看训练过程之中的各项指标。在实际的应用过程之中,为了保证模型构建的准确性,我们也会经常查看网络的模型结构图。那么这节课我们就来看一下如何在TensorBoard之中查看模型图。

倘若我们通过tf.kerasAPI来自定义了一个网络模型,那么我们在TensorBoard来查看模型图是非常简单的一件事情。

当我们使用tf.keras的模型的fit()方法的时候,框架会自动帮我们绘制模型结构图。

如下代码所示:

首先我们定义模型、数据与相应的参数。

importtensorflowastf(x_train,y_train),(x_test,y_test)=tf.keras.datasets.mnist.load_data()x_train,x_test=x_train/255.0,x_test/255.0defcreate_model():returntf.keras.models.Sequential([tf.keras.layers.Flatten(input_shape=(28,28)),tf.keras.layers.Dense(256,activation='relu'),tf.keras.layers.Dense(10,activation='softmax')])model=create_model()model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=[])然后我们定义相应的TensorBoard日志目录,同时对模型使用fit()进行训练:

tensorboard_callback=tf.keras.callbacks.TensorBoard(log_dir='./logs')model.fit(x=x_train,y=y_train,epochs=3,validation_data=(x_test,y_test),callbacks=[tensorboard_callback])最后我们就可以打开TensorBoard并在浏览器查看:

tensorboard--logdirlogs我们就可以在浏览器的Graph标签页之中看到模型图了:

在实际的应用过程之中,有很多的情况下,我们需要使用tf.function来加速模型的速度并自定义训练过程。那么这个时候我们要如何才能查看网络的模型结构图呢?

其实也很简单,我们只需经过如下几个步骤:

在这里,我们可以使用一个很简单的例子来查看操作的结构:

#定义网络的操作@tf.functiondeftest_func(x,y):z=tf.matmul(x,y)z=z*5.0z=tf.nn.relu(z)returnz#创建写入器writer=tf.summary.create_file_writer('./logs/3')#创建初试数据x=tf.random.uniform((5,5))y=tf.random.uniform((5,5))#开启变量追踪tf.summary.trace_on(graph=True,profiler=True)#运行程序z=test_func(x,y)#将日志输出withwriter.as_default():tf.summary.trace_export(name="test_func_graph",step=1,profiler_outdir='./logs/3')在这里,我们首先定义了一个基本的模型操作,该模型操作由一个矩阵乘法、一个常量乘法、外加一个Relu激活层组成。在运行完操作之后,我们便使用tf.summary.trace_export()API来将模型图输入道日志之中。

然后我们便可以在浏览器之中查看到相应的模型图:

可以看到,该模型图完整的反映了我们的操作。

既然了解了如何将模型图输出到日志,那么接下来我们就应该查看在TensorBoard之中对模型图的基本操作。

在TensorBoard之中,使用鼠标滚轮即可实现模型图的缩放,当我们一直放大,会看到操作内部的细节。

并且按住鼠标左键,移动鼠标,即可实现模型图的移动操作。

双击网络节点,即可展开网络节点,从而查看到网络内部的细节操作。

在左侧的最上方,可以搜索自己想要查看的节点,这里是支持正则表达式的。

点击左侧的DownloadPNG即可下载带有透明度的、网络模型的图片。

点击左侧的Run按钮,即可选择不同的网络模型进行查看,前提是我们已经将网络模型输入到日志之中去。

点击左侧的Tag选项,即可查看网络的查看方式。

默认是查看中粒度的网络模型,如果我们的模型是使用Keras定义的,那么我们可以选择查看Keras结构,这是一个总体的概览,可以帮助我们掌握大体的网络结构。

当我们遇到一些不理解的图标的时候,我们可以通过左下角的图例进行查询:

在这节课之中,我们学习率如何在TensorBoard之中查看Keras模型,同时也了解了如何产看自定义的操作过程,最后我们了解了TensorBoard的一些基本操作。TensorBoard也在持续更新,未来一定会有更多新的功能。

THE END
1.Tensorboard的使用tensorboard怎么用pip install tensorboard 安装完成后,开始体验tensorboard的用法: 一、Tensorboaid模块中SummaryWriter类的使用: 两个常用的方法: 1、writer.add_scalar() 可以利用此方法进行绘制train/val loss 代码展示: fromtorch.utils.tensorboardimportSummaryWriter writer = SummaryWriter("glo")#创建一个名字为“glo”的文件夹https://blog.csdn.net/2301_79877516/article/details/138136553
2.89TensorBoard的使用Trouvaillefighting二、Tensorboard的使用 应用:查看loss; 显示具体哪一步的output 在对应虚拟环境下的项目中创建文件 SummaryWriter类 fromtorch.utils.tensorboardimportSummaryWriter 导入torch.utils.tensorboard时 找不到tensorboard 原理:torch的版本比较低 第二种解决方法: https://www.cnblogs.com/yuyingblogs/p/16253225.html
3.TensorBoard的最全使用教程:看这篇就够了腾讯云开发者社区TensorFlow 随后于 2015 年向公众发布。TensorBoard刚出现时只能用于检查TensorFlow的指标和TensorFlow模型的可视化,但是后来经过多方的努力其他深度学习框架也可以使用TensorBoard的功能,例如Pytorch已经抛弃了自家的visdom(听到过这个名字的人应该都不多了吧)而全面支持TensorBoard。https://cloud.tencent.com/developer/article/1955304
4.TensorBoard最全使用教程:看这篇就够了使用TensorBoard 我们已经启动并运行 TensorBoard,下面以TensorFlow 为例介绍如何使用TensorBoard 1、本地使用 TensorBoard TensorBoard callback 在 TensorFlow 库提供的回调。 它是如何工作的? 根据Keras 文档,回调是可以在训练的各个阶段执行操作的对象。 当我们想在训练过程中的特定时间节点(例如,在每次epoch/batch之后)https://zhuanlan.zhihu.com/p/471198169
5.TensorBoard的使用TensorBoard的使用 简介 TensorBoard是TensorFlow自带的一个强大的可视化工具,也是一个Web应用程序套件。 使用 进入保存节点目录,输入: tensorboard --logdir=. 即可看到节点信息,在网页输入ip地址加节点信息即可查看。 学习更多编程知识,请关注我的公众号: [代码的路]https://www.elecfans.com/d/1979730.html
6.Tensorboard基本使用这些是很久之前写的教程,在使用tensorboard中发现新的问题: (1)由于tensorflow版本更新的问题,许多东西用着用着就不能用了,比如: tf.train.SummaryWriter改为:tf.summary.FileWriter 这里贴一个博客,可以对应着修改: https://blog.csdn.net/waterydd/article/details/70237984 https://www.jianshu.com/p/278b7f09d3ea
7.使用TensorBoard將實驗視覺化在本文中,您會瞭解如何使用主要 Azure Machine Learning SDK 中的tensorboard套件,在 TensorBoard 中檢視您的實驗作業和計量。 檢查過實驗作業之後,您就可以更進一步地微調機器學習模型並加以重新定型。 TensorBoard是一套 Web 應用程式,可用於檢查和了解您的實驗結構和效能。 https://docs.microsoft.com/zh-tw/azure/machine-learning/how-to-monitor-tensorboard
8.使用Tensorboard查看模型训练效果人工智能平台PAI(PAI)任务资源:配置运行Tensorboard实例时使用的资源:CPU(核数)和内存(GiB)。 专有网络配置 当使用公共资源创建Tensorboard实例时,支持配置该参数。 不配置专有网络,将使用公网连接。由于公网连接的带宽有限,在Tensorboard实例启动过程或查看报告时,可能会出现卡顿或无法正常进行的情况。 配置专有网络,以确保充足的网络带宽和https://help.aliyun.com/zh/pai/user-guide/create-and-manage-tensorboard-tasks
9.科学网—[转载]Pytorch可视化过程之tensorboardX的使用[转载]Pytorch可视化过程之tensorboardX的使用 tensorboardX支持scalar,image,figure,histogram,audio,text,graph,onnx_graph,embedding,pr_curve和video等。 (一)安装 依赖环境: Python Pytorch tensorboardX:pip install tensorboardX tensorflow: pip install tensorflow (tensorboardX的运行需要tensorflow)https://blog.sciencenet.cn/blog-1969089-1192503.html
10.如何指定国内站点下载tensorflow(1)第一步:登录服务器:——使用SSH登录 在本地计算机使用先用ssh工具重定向: ssh -L 16006:127.0.0.1:6006 name@server_ip -p 22 # 你的用户名name和ip 有的服务器做了端口映射 所以-p后面添加你服务器的连接端口号,默认是22端口 1. 其中:16006代表自己本机的端口号,6006是服务器上tensorboard使用的端口https://blog.51cto.com/u_16099333/12838061
11.安装tensorboard要安装 TensorBoard,你可以按照以下步骤进行操作。这些步骤涵盖了确认系统环境、使用 pip 命令安装 TensorBoard 以及验证安装是否成功。 1. 确认系统环境 在开始安装之前,你需要确认你的操作系统和 Python 版本。你可以通过以下命令查看 Python 版本: bash python --version # 或者,如果你使用的是 Python 3(推荐) pythhttps://agents.baidu.com/content/question/c00342e0815ec9be76b1748e
12.torch.utils.tensorboard—PyTorch2.5documentationimport torch import torchvision from torch.utils.tensorboard import SummaryWriter from torchvision import datasets, transforms # Writer will output to ./runs/ directory by default writer = SummaryWriter() transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))]) https://pytorch.org/docs/stable/tensorboard.html
13.python人工智能tensorflow函数tensorboard使用方法python这篇文章主要为大家介绍了python人工智能tensorflow函数tensorboard使用方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 + 目录 tensorboard常用于更直观的观察数据在神经网络中的变化,或者用于观测已经构建完成的神经网络的结构。其有助于我们更加方便的去观测tensorflow神经网络的搭建情况以及https://www.jb51.net/article/246823.htm