tensorboard安装_在colab 上运行tensorboard的方法

最近在colab上学习tensorflow, 觉得很方便,但是在云计算机上跑是和本地机器跑有点不一样的。例如,tensorboard的使用就不一样,我们无法通过本地的地址去访问到tensorboard,但是tensorboard这个又是tensorflow里面一个很重要的工具,如何才能在colab中用到它呢?以下介绍一下两个方法

方法一:两行magic code

%load_ext tensorboard  #使用tensorboard 扩展
%tensorboard --logdir logs  #定位tensorboard读取的文件目录

注意这里的logs是存放tensorboard文件的目录,一般这种文件的都是event.out.tfevent开头,然后后面一堆数字,运行这两个之后呢,就会在notebook中出现tensorboad的界面

4a1743fd921d554197ced2ce5cbb2022.png

如果出现以下提示,很大可能是文件目录出现了问题,重新检查一下吧

d99a6dd5b9b8579955877ae1b1fc5d8c.png

方法二:我也不知道为什么但就是成功了的办法

第一步:

!pip install tensorboardcolab

第二步

from tensorboardcolab import TensorBoardColab, TensorBoardColabCallback
tbc=TensorBoardColab()

第二步之后呢会出现一条链接,点击打开,但是这个时候一般是什么都没有的

第三步

import tensorflow as tf
graph = tf.Graph()

第四步,让代码块在 with graph.as_default():里面运行

with graph.as_default():
    代码块
    ......
    writer = tf.summary.FileWriter('./Graph', sess.graph)
    ......

注意需要写入的文件目录默认是./Graph, 因为这种方法默认tensorboard读取的是当前目录下 的graph目录(我也不知道怎么改)

以下是可以完整跑出来的代码:

#第一步安装
!pip install tensorboardcolab
#第二步:运行环境,需要等待8秒

from tensorboardcolab import TensorBoardColab, TensorBoardColabCallback
tbc=TensorBoardColab()

#第三步:定义graph

import numpy as np
import matplotlib.pyplot as plt
graph = tf.Graph()
#第四步
with graph.as_default():
  def normalize(X):
    mean=np.mean(X)
    std=np.std(X)
    X=(X-mean)/std
    return X
  #Data
  boston=tf.contrib.learn.datasets.load_dataset('boston')
  X_train,Y_train=boston.data[:,5],boston.target
  # X_train=normalize(X_train)
  n_samples=len(X_train)  
  #placeholder for training data
  X=tf.placeholder(tf.float32,name='X')
  Y=tf.placeholder(tf.float32,name='Y')
  #初始参数
  b=tf.Variable(0.0)
  w=tf.Variable(0.0)
  #the linear regression model
  Y_hat=X*w+b
  #loss function
  loss=tf.square(Y-Y_hat,name='loss')
  #optimizer
  optimizer=tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)
  init_op=tf.global_variables_initializer()
  total=[]   
  with tf.Session() as sess:
    sess.run(init_op)
    writer=tf.summary.FileWriter('./Graph', sess.graph)
    for i in range(10):
      total_loss=0
      for x,y in zip(X_train,Y_train):
        _,l=sess.run([optimizer,loss],feed_dict={X:x,Y:y})
        total_loss+=l
      total.append(total_loss/n_samples)
      print('Epoch{0}:Loss{1}'.format(i,total_loss/n_samples))
    writer.close()
    b_value,w_value=sess.run([b,w])

  Y_pred=X_train*w_value +b_value
  print('Done')
  #plot the result
  plt.plot(X_train,Y_train,'bo',label='Real Data')
  plt.plot(X_train,Y_pred,'r',label='Predicted Data')
  plt.legend()
  plt.show()
  plt.plot(total)
  plt.show() 

还有一点很奇怪的是,如果直接在Graph的上级目录运行tbc=TensorBoardColab(),会发现Graph目录会被无端端删除,等我后面搞明白了再更一更这一篇东西吧

4ccc0f466d0962c2447c3dc017124c67.png
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值