Tensorflow---使用Tensorflow中的Tensorboard进行相关的数据分析

一、该项目的演示代码如下所示

import tensorflow as tf
import os
import datetime

# 环境变量配置
os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'
os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'

# 数据的加载
(train_image, train_label), (test_image, test_label) = tf.keras.datasets.mnist.load_data()

train_image = tf.expand_dims(train_image, -1)
train_image = tf.cast(train_image / 255, tf.float32)
train_label = tf.cast(train_label, tf.int64)
train_dataset = tf.data.Dataset.from_tensor_slices((train_image, train_label))
train_dataset = train_dataset.repeat().shuffle(60000).batch(128)

test_image = tf.expand_dims(test_image, -1)
test_image = tf.cast(test_image / 255, tf.float32)
test_label = tf.cast(test_label, tf.int64)
test_dataset = tf.data.Dataset.from_tensor_slices((test_image, test_label))
test_dataset = test_dataset.repeat().batch(128)

# 模型的构建
model = tf.keras.Sequential([
    tf.keras.layers.Conv2D(16, (3, 3), activation='relu', input_shape=(28, 28, 1)),
    tf.keras.layers.Conv2D(32, (3, 3), activation='relu'),
    tf.keras.layers.GlobalMaxPooling2D(),
    tf.keras.layers.Dense(10, activation='softmax')
])

# 模型的相关配置
model.compile(
    optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
    loss=tf.keras.losses.SparseCategoricalCrossentropy(),
    metrics=['accuracy']
)

# 关于Tensorboard的相关配置
log_dir = os.path.join('logs', datetime.datetime.now().strftime('%Y%m%d-%H%M%S'))
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir, histogram_freq=1)

file_writer = tf.summary.create_file_writer(log_dir + '/lr')
file_writer.set_as_default()


def lr_sche(epoch):
    learning_rate = 0.2
    if epoch > 5:
        learning_rate = 0.02
    if epoch > 10:
        learning_rate = 0.01
    if epoch > 20:
        learning_rate = 0.005
    tf.summary.scalar('learning_rate', data=learning_rate, step=epoch)
    return learning_rate


lr_callback = tf.keras.callbacks.LearningRateScheduler(lr_sche)

# 模型的训练
model.fit(train_dataset,
          epochs=100,
          steps_per_epoch=60000 // 128,
          validation_data=test_dataset,
          validation_steps=10000 // 128,
          callbacks=[tensorboard_callback, lr_callback])

# 模型的保存
model.save(r'model_data/tensor_board.h5')

二、上述代码中构造了两个回调函数,在训练过程中自动的进行调用,在训练结束后输入以下命令即可进行相关数据变化的查看。

tensorboard --logdir 相关日志保存的位置
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
TensorBoard是一套Web应用程序,用于检查和了解您的TensorFlow运行和图形。它提供了一种可视化的方式来查看和分析TensorFlow的运行结果和模型图。您可以使用TensorBoard来查看模型的训练过程的指标变化,比如损失函数和准确率的变化趋势。此外,TensorBoard还可以展示TensorFlow计算图的可视化图形,帮助您更好地理解模型的结构和流程。使用TensorBoard非常简单,只需要在命令行执行"tensorboard --logdir"命令,指定TensorFlow的日志路径,就可以自动生成所有汇总数据的可视化结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [tensorboardTensorFlow的可视化工具包](https://download.csdn.net/download/weixin_42160278/15152103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Tensorflow-2-Tensorboard使用](https://blog.csdn.net/heisejiuhuche/article/details/72861543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [TensorFlow TensorBoard使用](https://blog.csdn.net/weixin_30731305/article/details/97234823)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水哥很水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值