Kaggle上使用Tensorboard

Kaggle上使用Tensorboard

1. 前言

  • 想在Kaggle上使用Tensorboard,找了一圈。
  • 参考了Kaggle上的一个Code:Tensorboard on Kaggle
  • 但发现有些变化,Code中用到的内网穿透工具Ngrok需要加一个Token,所以需要注册一个Ngrok账号,免费获取一个通道的Token。

2. Kaggle上使用Tensorboard

2.1. 方法一

  • 其实直接把在Kaggle上跑出来的Tensorboard日志文件下载到本地,在本地启动Tensorboard即可查看。
  • 当然,这里主要讲在线的方法。

2.2. 方法二

  • 在线使用Tensorboard

2.2.1. 获取一个Ngrok的免费通道

  • 访问Ngrok,注册一个账号并登录
  • 登录后界面如下,复制并保存你的Token
    image

2.2.2. 调试运行代码

  • 主要参考Kaggle上的一个Code:Tensorboard on Kaggle
  • 建议分段运行,以避免中间出错,全部重新运行一次
  • 以下代码在Kaggle的Notebook中运行

(1) 环境准备

import tensorflow as tf # This is how we import tf
# Clear any logs from previous runs
# 清除以前运行的所有日志
!rm -rf ./logs/ 
!mkdir ./logs/

(2) 启动Tensorboard

# Download Ngrok to tunnel the tensorboard port to an external port
# 下载 Ngrok 以将 tensorboard 端口隧道传输到外部端口
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip
# 添加自己在 Ngrok 上获取的专属Token
!./ngrok authtoken 粘贴你的专属Token
  • 注意这一步需要添加自己在 Ngrok 上获取的专属Token

image

# Run tensorboard as well as Ngrok (for tunneling as non-blocking processes)
# 运行 tensorboard 和 Ngrok(用于作为非阻塞进程的隧道)
import os
import multiprocessing

pool = multiprocessing.Pool(processes = 10)
# --logdir ./logs/ 是 TensorBoard 的日志文件(log)路径
# 你可以修改为你训练时的log保存路径(可以用绝对/相对路径),但相关的代码路径也要记得修改
results_of_processes = [pool.apply_async(os.system, args=(cmd, ), callback = None )
                        for cmd in [
                        f"tensorboard --logdir ./logs/ --host 0.0.0.0 --port 6006 &",
                        "./ngrok http 6006 &"
                        ]]
  • 获取访问 Tensorload 的URL,访问生成的URL即可看到 Tensorload 界面
  • 但还没有产生日志文件,所以现在还看不到有图形
! curl -s http://localhost:4040/api/tunnels | python3 -c \
    "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

image
image
image

(3) 创建和训练模型

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

def create_model():
  return tf.keras.models.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(512, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10, activation='softmax')
  ])
import datetime
model = create_model()
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)

model.fit(x=x_train, 
          y=y_train, 
          epochs=10, 
          validation_data=(x_test, y_test), 
          callbacks=[tensorboard_callback])
  • 产生日志文件后,就可以在打开的 Tensorboard 界面点击刷新,看到实时训练趋势了
    image

到底了 ?

原文链接:https://www.cnblogs.com/jhy-ColdMoon/p/17341992.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Kaggle上使用Tensorboard - Python技术站

(0)
上一篇 2023年4月22日
下一篇 2023年4月22日

相关文章

  • 彻底吃透理解Python基础33个关键字详细教程

    彻底吃透理解Python基础33个关键字详细教程攻略 为什么需要掌握33个关键字 Python是一门开放性的高级编程语言,相比其他语言,Python的语法相对简单,并且有着丰富的库和模块,使得编程变得容易。然而要想真正掌握Python的使用,必须首先熟悉Python的关键字。Python的关键字是指Python编程语言中拥有特定含义并且被保留的单词。通过掌握…

    python 2023年5月13日
    00
  • Python自动化办公之Word文档的创建与生成

    Python自动化办公之Word文档的创建与生成 Python是一款非常强大的编程语言,能够自动化地完成各种办公任务,Word文档的创建与生成是其中之一。在本篇文章中,我们将会讲解如何使用Python来自动生成Word文档。 安装Python-docx模块 要使用Python来操作Word文档,我们需要安装Python-docx模块。通过以下命令来安装: p…

    python 2023年5月19日
    00
  • python中的tkinter库弹窗messagebox详解

    Python中的tkinter库弹窗 messagebox详解 1. 概述 tkinter是Python中常用的GUI库,它提供了常见的组件,如按钮、标签、文本框等等。而messagebox就是其中一个常用的弹窗组件。 在Python中,要使用messagebox组件,需要先从tkinter库导入它: from tkinter import messageb…

    python 2023年5月18日
    00
  • Python实现读取csv文件并进行排序

    下面是Python实现读取csv文件并进行排序的完整攻略: 1. 读取CSV文件 CSV文件是一种通用的电子表格文件格式,以逗号分隔足以区分不同的数据列,因此读取CSV文件是通过Python中的csv模块实现的,具体步骤如下: import csv with open(‘filename.csv’, ‘r’) as file: reader = csv.re…

    python 2023年6月3日
    00
  • Python爬虫 urllib2的使用方法详解

    本攻略将提供一个Python使用urllib2爬取网页的方法详解,包括urllib2的概念、urllib2的基本使用方法、爬取网页的方法。攻略将包含两个示例,分别演示如何使用Python爬取网页。 urllib2的概念 urllib2是Python标准库中的一个模块,用于发送HTTP请求和处理HTTP响应。urllib2模块提供了一系列函数和类,用于构建HT…

    python 2023年5月15日
    00
  • Python3 列表list合并的4种方法

    Python3列表list合并的4种方法 在Python中,可以使用多种方法将两个或多个列表合并成一个列表。本文将详细讲解Python3列表list合并的4种方法,包括使用加号(+)运算符、使用extend()方法、使用append()方法和使用列表解析。并提供两个实例说明。 加号(+)运算符 使用加号(+)运算符可以将两个列表合并成一个列表。例如: my_…

    python 2023年5月13日
    00
  • python根据url地址下载小文件的实例

    下面是Python根据URL地址下载小文件的实例攻略: 步骤一:导入必要的模块 首先需要导入Python中的urllib.request模块,该模块可以使用HTTP/HTTPS协议访问 Internet 上的资源。 import urllib.request 步骤二:指定下载的URL地址 需要下载的文件需要指定其URL地址,例如: url = ‘http:/…

    python 2023年6月3日
    00
  • python中的路径拼接问题

    当我们在Python中处理文件和文件夹时,经常需要拼接路径。Python提供了”os”模块和”pathlib”模块来处理路径相关的问题,其中”pathlib”模块比”os”模块更加直观和易用。 使用os模块拼接路径 在使用”os”模块拼接路径时,我们可以使用”join”函数来完成路径的拼接操作。”join”函数接受多个路径参数,每个参数之间使用系统的路径分隔…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部