欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Vitis AI 基本认知(训练过程)

Vitis AI 基本认知(训练过程)

2024/10/25 18:31:28 来源:https://blog.csdn.net/DongDong314/article/details/141164128  浏览:    关键词:Vitis AI 基本认知(训练过程)

目录

1. 目的

2. TensorBoard

2.1 In TensorFlow

2.2.1 安装 TensorBoard

2.2.2 导入必要的库

2.2.3 初始化

2.2.4 记录数据

2.2.5 启动 TensorBoard

2.2.6 刷新间隔

2.2 In PyTorch

3. 训练周期 Epoch

3.1 Epoch

3.2 Batch

3.3 Iteration

4. 总结


1. 目的

  • 介绍和使用TensorBoard
  • 解释一些训练概念

2. TensorBoard

2.1 In TensorFlow

2.2.1 安装 TensorBoard

pip install tensorboard

查看是否安装 TensorBoard:

>> pip show tensorboard
---
Name: tensorboard
Version: 2.8.0
Summary: TensorBoard lets you watch Tensors Flow
Home-page: https://github.com/tensorflow/tensorboard
Author: Google Inc.
Author-email: packages@tensorflow.org
License: Apache 2.0
Location: /opt/vitis_ai/conda/envs/vitis-ai-tensorflow2/lib/python3.7/site-packages
Requires: absl-py, google-auth, google-auth-oauthlib, grpcio, markdown, numpy, protobuf, requests, setuptools, tensorboard-data-server, tensorboard-plugin-wit, werkzeug, wheel
Required-by: tensorflow

2.2.2 导入必要的库

import time
import tensorflow as tf

2.2.3 初始化

# 初始化 TensorBoard 的 SummaryWriter
log_dir = "./"
writer = tf.summary.create_file_writer(log_dir)

2.2.4 记录数据

# 记录数据
with writer.as_default():for i in range(100):tf.summary.scalar('Incremental Data', i, step=i)time.sleep(1)  # 延迟 1 秒

2.2.5 启动 TensorBoard

 在 Jupyter Lab 中 Terminal 运行以下命令来启动 TensorBoard:

tensorboard --logdir=./
---
NOTE: Using experimental fast data loading logic. To disable, pass"--load_fast=false" and report issues on GitHub. More details:https://github.com/tensorflow/tensorboard/issues/4784Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.8.0 at http://localhost:6006/ (Press CTRL+C to quit)

在浏览器中打开显示的 URL(直接单击链接地址即可),查看数据:

2.2.6 刷新间隔

勾选 “Reload data” 选项,并设置 “Reload period” 为你希望的刷新间隔(最少 30 秒)。

2.2 In PyTorch

import time
from torch.utils.tensorboard import SummaryWriterlog_dir = "./"
writer = SummaryWriter('log_dir')for i in range(100):writer.add_scalar('Incremental Data', i, i)time.sleep(1)  # 延迟 1 秒writer.close()

 在 Jupyter Lab 中 Terminal 运行以下命令来启动 TensorBoard:

tensorboard --logdir=./
---请访问 http://workspace.featurize.cn:18245 来访问 TensorBoard 面板
如果无法访问面板,清参考文档 https://docs.featurize.cn/docs/manual/tensorboard 解决2024-08-14 16:25:28.403920: E tensorflow/stream_executor/cuda/cuda_driver.cc:271] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
2024-08-14 16:25:28.404023: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (featurize): /proc/driver/nvidia/version does not existNOTE: Using experimental fast data loading logic. To disable, pass"--load_fast=false" and report issues on GitHub. More details:https://github.com/tensorflow/tensorboard/issues/4784TensorBoard 2.7.0 at http://0.0.0.0:6006/ (Press CTRL+C to quit)

3. 训练周期 Epoch

3.1 Epoch

Epoch,即训练周期是一个非常重要的概念。它指的是整个训练数据集被完整地送入神经网络进行一次前向传播和反向传播的过程。简单来说,就是模型在所有训练数据上训练了一遍。

随着 epoch 数量的增加,模型会逐渐从欠拟合状态(underfitting)转变为过拟合状态(overfitting)。因此,选择合适的epoch数量对于模型的性能至关重要。

可以将训练过程想象成学习一本书。一个 epoch 就像是从头到尾读完这本书一次。每次读完一遍(一个 epoch),你都会对书中的内容理解得更深刻。然而,如果你反复读这本书太多次(过多的epoch),你可能会开始记住每一个细节和句子,而不是理解书的整体意义。这就像是你在考试中只记住了书中的例子,而不是掌握了解决问题的方法。

3.2 Batch

假设你把一本书分成了多个章节(batch),每次你读完一个章节并做笔记(一次 Iteration),你会对这部分内容有更深的理解。完成所有章节的阅读和笔记(所有 Iteration)后,你就完成了一次完整的阅读(一个 epoch)。

  • 训练数据会被分成多个小批次(batch)进行训练,每个小批次包含一定数量的样本。
  • 只有当前批次的数据会被加载到内存中进行处理。
  • 训练中,每个小批次上会进行前向传播和反向传播,更新权重。

3.3 Iteration

如果你的训练数据集有1000个样本,你将其分成每个包含100个样本的10个批次(batch)。那么,完成一个 epoch 需要10次 iteration。

4. 总结

在本文中,我们探讨了如何使用 TensorBoard 来监控和可视化机器学习模型的训练过程。通过安装和配置TensorBoard,我们可以实时查看模型训练中的各种参数变化,例如权重、损失和准确率等。

此外,我们还讨论了机器学习中的几个基本概念:Epoch、Batch 和 Iteration。Epoch 是整个数据集在模型中前向和反向传播一次的过程,有助于模型学习和调整参数。Batch 是将大量数据集分成小批次进行处理,有助于内存管理和加速训练过程。Iteration 是指完成一个 Batch 的单次传播过程。理解这些概念对于有效地设计和训练机器学习模型至关重要。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com