文章目录

  • 1.Tensorboard简介
  • 2.Keras训练中使用
  • 3.自定义训练中使用

掌握Tensorboard作用,学会使用Tebsorboard,看评估指标、模型图

1.Tensorboard简介

2.Keras训练中使用



Tensorboard界面解释

from __future__ import absolute_import, division, print_function, unicode_literalsimport tensorflow as tf
import numpy as np
from tensorflow.keras.layers import Dense, Flatten, Conv2D
from tensorflow.keras import Model
import numpy as np
import datetime
print(tf.__version__)
print(np.__version__)mnist = np.load("mnist.npz")
x_train, y_train, x_test, y_test = mnist['x_train'],mnist['y_train'],mnist['x_test'],mnist['y_test']x_train, x_test = x_train / 255.0, x_test / 255.0# Add a channels dimension
x_train = x_train[..., tf.newaxis]
x_test = x_test[..., tf.newaxis]class MyModel(Model):def __init__(self):super(MyModel, self).__init__()self.conv1 = Conv2D(32, 3, activation='relu')self.flatten = Flatten()self.d1 = Dense(128, activation='relu')self.d2 = Dense(10, activation='softmax')@tf.functiondef call(self, x):x = self.conv1(x)x = self.flatten(x)x = self.d1(x)return self.d2(x)model = MyModel()
model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])# 定义一个回调函数
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="keras_logv2", histogram_freq=1,     # 频率profile_batch = 100000000)# 模型训练的性能model.fit(x=x_train, y=y_train, epochs=20, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])# 第一种方式-据说在谷歌colab下可以打开,但我没有打开
# colab是一个好东西,不过需要花钱翻墙,害
# 查看tersorboard
%load_ext tensorboard
%tensorboard --logdir keras_log


第二种方式

C:\Users\admin>tensorboard --logdir=tensorboard --logdir=C:\Users\admin\data\keras_logv2\train
根据自己的目录进行修改


然后打开这个网址会出现如下类似的图




3.自定义训练中使用






代码没跑出来-_-~

from __future__ import absolute_import, division, print_function, unicode_literalsimport tensorflow as tffrom tensorflow.keras.layers import Dense, Flatten, Conv2D
from tensorflow.keras import Model
import numpy as np
import datetime
print(tf.__version__)
print(np.__version__)# 数据集加载与处理
mnist = np.load("mnist.npz")
x_train, y_train, x_test, y_test = mnist['x_train'],mnist['y_train'],mnist['x_test'],mnist['y_test']x_train, x_test = x_train / 255.0, x_test / 255.0# Add a channels dimension
x_train = x_train[..., tf.newaxis]
x_test = x_test[..., tf.newaxis]train_ds = tf.data.Dataset.from_tensor_slices((x_train, y_train)).shuffle(10000).batch(32)
test_ds = tf.data.Dataset.from_tensor_slices((x_test, y_test)).batch(32)# 定义模型
class MyModel(Model):def __init__(self,**kwargs):super(MyModel, self).__init__(**kwargs)self.conv1 = Conv2D(32, 3, activation='relu')self.flatten = Flatten()self.d1 = Dense(128, activation='relu')self.d2 = Dense(10, activation='softmax')# 将前向传播变成静态图@tf.functiondef call(self, x):x = self.conv1(x)x = self.flatten(x)x = self.d1(x)return self.d2(x)loss_object = tf.keras.losses.SparseCategoricalCrossentropy()optimizer = tf.keras.optimizers.Adam()train_loss = tf.keras.metrics.Mean(name='train_loss')
train_accuracy = tf.keras.metrics.SparseCategoricalAccuracy(name='train_accuracy')test_loss = tf.keras.metrics.Mean(name='test_loss')
test_accuracy = tf.keras.metrics.SparseCategoricalAccuracy(name='test_accuracy')# @tf.function
def train_step(images, labels):with tf.GradientTape() as tape:predictions = model(images)loss = loss_object(labels, predictions)gradients = tape.gradient(loss, model.trainable_variables)optimizer.apply_gradients(zip(gradients, model.trainable_variables))train_loss(loss)train_accuracy(labels, predictions)# @tf.function
def test_step(images, labels):predictions = model(images)t_loss = loss_object(labels, predictions)test_loss(t_loss)test_accuracy(labels, predictions)model = MyModel()stamp = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
import os
logdir = os.path.join("logs/"+stamp)summary_writer = tf.summary.create_file_writer(logdir) EPOCHS = 1for epoch in range(EPOCHS):for (x_train, y_train) in train_ds:train_step(x_train, y_train)with summary_writer.as_default():                               # 希望使用的记录器tf.summary.scalar('loss', train_loss.result(), step=epoch)tf.summary.scalar('accuracy', train_accuracy.result(), step=epoch)  # 还可以添加其他自定义的变量#     for (x_test, y_test) in test_ds:
#         test_step(x_test, y_test)#     template = 'Epoch {}, Loss: {}, Accuracy: {}, Test Loss: {}, Test Accuracy: {}'
#     print(template.format(epoch + 1,
#                           train_loss.result(),
#                           train_accuracy.result() * 100,
#                           test_loss.result(),
#                           test_accuracy.result() * 100))# Reset metrics every epochtrain_loss.reset_states()test_loss.reset_states()train_accuracy.reset_states()test_accuracy.reset_states()with summary_writer.as_default():tf.summary.trace_on(graph=True, profiler=False)  # 开启Trace,可以记录图结构和profile信息tf.summary.trace_export(name="model_trace", step=3, profiler_outdir=None)    # 保存Trace信息到文件

深度学习9-tensorboard相关推荐

  1. 【深度学习】Tensorboard可视化模型训练过程和Colab使用

    [深度学习]Tensorboard可视化模型训练过程和Colab使用 文章目录 1 概述 2 手撸代码实现 3 Colab使用3.1 详细步骤3.2 Demo 4 总结 1 概述 在利用TensorF ...

  2. 【深度学习】tensorboard中的图片放到论文中

    1. 利用tensorboard中的导出数据功能 选中左上角的标签,然后选择csv格式的数据下载即可. 左边的smoothing 数值不影响导出数据的大小. 2.tensorboard 图下标签介绍: ...

  3. 深度学习(33)随机梯度下降十一: TensorBoard可视化

    深度学习(33)随机梯度下降十一: TensorBoard可视化 Step1. run listener Step2. build summary Step3.1 fed scalar(监听标量) S ...

  4. 【深度学习】模型训练过程可视化思路(可视化工具TensorBoard)

    [深度学习]模型训练过程可视化思路(可视化工具TensorBoard) 文章目录 1 TensorBoard的工作原理 2 TensorFlow中生成log文件 3 启动TensorBoard,读取l ...

  5. 深度学习入门笔记系列(三)——感知器模型和 tensorboard 的使用方法

    本系列将分为 8 篇 .今天是第三篇 .主要讲讲感知器模型和 tensorboard 的基本使用方法 . 1. 感知器模型 因为小詹之前写过一篇感知器模型的介绍 ,这里就不赘述了 .有需要巩固的点击如 ...

  6. AI深度学习入门与实战15 TensorBoard:实验统计分析助手

    在 13 和 14 讲中,我们一同了解了 TensorFlow.通过 TensorFlow,我们可以将设计好的理论模型变成实际可用的真正的模型.这一讲,我们将学习一个高效的实验分析助手:TensorB ...

  7. 【深度学习实战】---TensorBoard网络可视化

    [深度学习实战]-TensorBoard网络可视化 前记 为了能够更加深层次的理解我们的网络结构,不必要是画一份简简单单的网络的草图(如[深度学习实战]迈出第一步------编写第一个神经网络),那么 ...

  8. pytorch深度学习实战一书,tensorboard可视化踩坑

    书评&踩坑 @[TOC](书评&踩坑) `提示:纯个人观点,仅供参考` 前言 一.源码学习,又是版本问题(省略内心独白...) 二.步骤 1.安装tensorflow 2.思考,看代码 ...

  9. 深度学习编译器Data Flow和Control Flow

    深度学习编译器Data Flow和Control Flow 本文介绍了一下深度学习框架的Data Flow和Control Flow,基于TensorFlow解释了TensorFlow是如何在静态图中 ...

  10. XLearning - 深度学习调度平台

    XLearning - 深度学习调度平台 软件简介 XLearning **** 是奇虎 360 开源的一款支持多种机器学习.深度学习框架调度系统.基于 Hadoop Yarn 完成了对TensorF ...

最新文章

  1. 不能记账,往来帐页不能显示结转数据
  2. 利用binlog进行数据库的还原
  3. Python3.5入门到项目实战(104天课程)
  4. [Bugku][Web][CTF] 9-15 write up
  5. C#委托实现C++ Dll中的回调函数
  6. Kmeans CUDA
  7. DataSet和DataTable详解
  8. 嵌入式Linux入门4:版本控制git的使用
  9. 【Kafka】Kafka inter.broker.listener.name must be a listener name defined in advertised.listeners
  10. Python使用numpy滤除图像中的低频信号
  11. Yahei Consolas Hybrid------解决eclipse中文汉字太小问题
  12. 数据网站(数据集的获取)、打分网站
  13. “飞跃四十载 同发展·共繁荣”巡回展在江苏举行
  14. mysql 5.6 在线DDL
  15. 电脑照片,怎么把电脑照片传到iphone手机 将电脑照片传到iphone方法【图文】
  16. 这才是在线Word转PDF的正确姿势
  17. tp房产源码tpfangchan-fangcms-tphouse火车头采集软件方法
  18. 《自控力》读书笔记思维导图
  19. SpaceShooter打飞机教程笔记(三)
  20. navicat显示中文为问号

热门文章

  1. 排序趟[置顶] Java和C实现的冒泡排序(基本思想)
  2. Win8:Setting
  3. (三) 初识XMAL
  4. 免费资源下载:超酷超全的PSD按钮资源
  5. jmeter(一)基础介绍
  6. 发送消息的时候,会指定用户,其实还可以定义媒介为脚本,让用户执行这个脚本...
  7. 【UVA10537】The Toll! Revisited (逆推最短路)
  8. 中小SAP项目中的人员编制(转)
  9. SAAS及PAAS的概念
  10. .第一天.net 学习理论