bug合集|艰难的TensorBoard可视化之路

简介: 今天上午在制作演示案例的时候,需要使用TensorBoard将训练过程可视化出来,原本想着很简单的,但是还是遇到了一些bug,现在就把当时我遇到的一些问题整理出来,请看文章。

前言


今天上午在制作演示案例的时候,需要使用TensorBoard将训练过程可视化出来,原本想着很简单的,但是还是遇到了一些bug,现在就把当时我遇到的一些问题整理出来,请看文章。


bug从何而来


我们先来写一个小的demo:借用keras来加载FashionMNIST数据集,并自定义训练模型,其网络层级结构如下图所示:


微信图片_20220611022738.png


核心层代码如下所示:


def __init__(self):
      self.cnn_1 = tf.keras.layers.Conv2D(32,3,activation=tf.nn.relu)
      self.batch_norm_1 = tf.keras.layers.BatchNormalization()
      self.cnn_2 = tf.keras.layers.Conv2D(64,3,activation=tf.nn.relu)
      self.batch_norm_2 = tf.keras.layers.BatchNormalization()
      self.cnn_3 = tf.keras.layers.Conv2D(128,3,activation=tf.nn.relu)
      self.batch_norm_3 = tf.keras.layers.BatchNormalization()
      self.last_dense = tf.keras.layers.Dense(10,activation=tf.nn.softmax)


现在我们的需求是将训练过程可视化展示出来,因此我们需要初始化TensorBoard,请看如下代码:


# 初始化tensorboard
tensorboard = tf.keras.callbacks.TensorBoard(histogram_freq=1)
model.fit(x=train_images,y=train_labels,epochs=20,verbose=2,callbacks=[tensorboard])
model.evaluate(x=test_images,y=test_labels)


接着,我们进入终端执行如下命令:


tensorboard --logdir=/full_path_to_your_logs/train


小伙伴们请注意,我遇到的bug就是从这里开始的,请看问题:


  1. 如何进入Mac下的Anaconda prompt
  2. zsh:command not found:tensorboard问题的解决方法。



Mac下的Anaconda prompt


首先,我们明确一点,mac下的anaconda prompt就是自带的terminal,我们来打开terminal,输入如下命令,发现报错信息如下所示:


微信图片_20220611022742.png


我们发现错误信息提示我们并不能找到tensorboard的的相关命令,请看解决方法。


我们继续在终端中输入如下命令:


vim ~/.zshrc


并向.zshrc文件中添加如下命令:


source ~/.bash_profile


微信图片_20220611022746.png


执行完上述操作之后,我们保存并退出vim,在终端中执行如下命令:


source ~/.zshrc


执行完上述所有操作之后,我们发现terminal中命令行的最前面多了一个(base)字样,我们接着继续输入tensorboard,发现如下信息:


微信图片_20220611022750.png


我们发现,此时的报错信息不再是...command not found...之类的信息,而是提示我们在使用tensorboard的时候应该加上logdir或db等参数信息。


好的,解决了上述问题之后,我们回到上文提到的那个例子当中。


首先,给小伙伴们看一下我们的项目目录:


微信图片_20220611022754.png


接着,我们来看具体的操作:


微信图片_20220611022757.png


最后,我们通过如下地址(http://localhost:6006/)即可在网页端查看可视化过程:


微信图片_20220611022801.png


that's great,解决了bug,接下来我们就可以为所欲为啦~


...command not found...


其实在上文中,我们在讲解mac下的anaconda prompt时,就已经提及到了一种解决方法,接下来,我们看第二种解决方法。


仍然是在项目文件目录下,我们输入如下命令:


alias tensorboard='python3 -m tensorboard.main'


执行完上述命令之后,我们接着执行tensorboard的启动命令,请看下图:


微信图片_20220611022804.png

tensorboard启动成功,以上就是我在启动tensorboard过程中遇到的几个bug,小伙伴们学会了吗?希望能够给各位小伙伴带来一丝丝帮助!


相关文章
|
7月前
|
数据采集 数据可视化 搜索推荐
《统计学简易速速上手小册》第2章:数据探索与可视化(2024 最新版)
《统计学简易速速上手小册》第2章:数据探索与可视化(2024 最新版)
66 1
|
7月前
|
算法 数据可视化 安全
《统计学简易速速上手小册》第6章:多变量数据分析(2024 最新版)
《统计学简易速速上手小册》第6章:多变量数据分析(2024 最新版)
57 1
|
机器学习/深度学习 Web App开发 数据可视化
训练可视化工具哪款是你的菜?MMCV一行代码随你挑
在深度学习中可视化模型的训练过程有助于我们分析模型的状态。可视化训练过程的库很多,我们将一些常用的库集成到 MMCV 中方便用户使用。在 MMCV 中使用这些库只需简单配置。在本文中将介绍这些库以及它们在 MMCV 中的使用方法。
835 0
训练可视化工具哪款是你的菜?MMCV一行代码随你挑
|
3月前
|
机器学习/深度学习 算法 数据挖掘
从菜鸟到大师:Scikit-learn库实战教程,模型训练、评估、选择一网打尽!
【9月更文挑战第13天】在数据科学与机器学习领域,Scikit-learn是不可或缺的工具。本文通过问答形式,指导初学者从零开始使用Scikit-learn进行模型训练、评估与选择。首先介绍了如何安装库、预处理数据并训练模型;接着展示了如何利用多种评估指标确保模型性能;最后通过GridSearchCV演示了系统化的参数调优方法。通过这些实战技巧,帮助读者逐步成长为熟练的数据科学家。
128 3
|
5月前
|
机器学习/深度学习 算法 数据挖掘
|
7月前
|
运维 监控 供应链
《统计学简易速速上手小册》第7章:时间序列分析(2024 最新版)
《统计学简易速速上手小册》第7章:时间序列分析(2024 最新版)
57 1
|
7月前
|
算法 数据挖掘 数据处理
《Numpy 简易速速上手小册》第10章:Numpy案例研究和实践技巧(2024 最新版)
《Numpy 简易速速上手小册》第10章:Numpy案例研究和实践技巧(2024 最新版)
81 0
|
存储 人工智能
|
传感器
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~