2020.4.1更新:
colab现在自带tensorboard的魔术方法了,用这个命令就能展示tensorboard
%load_ext tensorboard
%tensorboard --logdir './log/train'# 加载一次后,如果要重新加载,就需要使用reload方法
%reload_ext tensorboard
%tensorboard --logdir './log/train'
一、为什么colab打不开tensorboard
!tensorboard --logdir=logs --host=127.0.0.1
以上命令为什么打不开tensorboard呢?这是因为tensorboard生成的“127.0.0.1:6006”网址的本地是谷歌主机,而不是我们自己的电脑,因此在我们电脑上打开这个网址或者“localhost:6006”当然显示的是“无法访问此网站”
二、如何在colab上打开tensorboard?
- 首先我们用keras训练一个手写数字识别的神经网络
from tensorflow.keras.callbacks import TensorBoard
tbCallBack = TensorBoard(log_dir='./log', histogram_freq=1,write_graph=True,write_grads=True,batch_size=batch_size,write_images=True)model.fit(x_train, y_train,batch_size=batch_size,epochs=epochs,verbose=1,validation_data=(x_test, y_test),callbacks=[tbCallBack])
- 安装ngrok
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip
- run TensorBoard on Colab
在colab notebook中依次执行以下命令
LOG_DIR = './log'
get_ipython().system_raw('tensorboard --logdir {} --host 0.0.0.0 --port 6006 &'.format(LOG_DIR)
)
-------------------------------------------------------------------------------------------------
get_ipython().system_raw('./ngrok http 6006 &')
-------------------------------------------------------------------------------------------------
! curl -s http://localhost:4040/api/tunnels | python3 -c "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"
- 打开链接查看效果