我试图让TensorBoard在Colaboratory中工作-以前我能够使用使用ngrok的方法(建议在多个线程中使用,例如Can I use TensorBoard with Google Colab?),虽然过去对我有用,但现在似乎坏了。
主要问题是,即使创建了事件文件,当我打开TensorBoard链接时,也会收到以下错误消息:
”当前数据集没有活动的仪表板。 可能的原因:
您尚未将任何数据写入事件文件。 TensorBoard找不到您的事件文件。“
我尝试在当前目录以及子目录中写入和加载事件文件。
我也尝试过使用'tensorboardcolab'库(未显示代码),这是一种替代方法(https://github.com/taomanwai/tensorboardcolab),但它给出了相同的错误消息。
我无法使用TensorFlow 2.0及其内置的Colab TensorBoard支持,因为我使用的模型依赖于仅与版本1兼容的各种Python工具箱。
我提供了一个最小的工作示例。我在Chrome中运行Colab。
重击:
! wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
! unzip ngrok-stable-linux-amd64.zip
Python:
a = tf.add(2, 2,)
b = tf.multiply(a, 3)
with tf.Session() as sess:
writer = tf.summary.FileWriter("./", sess.graph)
print(sess.run(b))
writer.close()
LOG_DIR = './'
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'])"