前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bug合集|艰难的TensorBoard可视化之路

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

作者头像
石璞东
发布2020-10-28 17:23:33
4970
发布2020-10-28 17:23:33
举报
文章被收录于专栏:石璞东 | haha

" 阅读本文大概需要 6 分钟 "

前言

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

bug从何而来

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

核心层代码如下所示:

代码语言:javascript
复制
  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,请看如下代码:

代码语言:javascript
复制
# 初始化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)

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

代码语言:javascript
复制
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,输入如下命令,发现报错信息如下所示:

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

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

代码语言:javascript
复制
vim ~/.zshrc

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

代码语言:javascript
复制
source ~/.bash_profile

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

代码语言:javascript
复制
source ~/.zshrc

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

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

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

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

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

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

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

...command not found...

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

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

代码语言:javascript
复制
alias tensorboard='python3 -m tensorboard.main'

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

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

- End -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 hahaCoder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档