TensorBoard安装与基本操作指南(PyTorch)

文章目录

什么是TensorBoard?

  • TensorBoard是TensorFlow生态系统中的一款强大的可视化工具,它可以帮助机器学习开发者和研究人员理解、调试和优化他们的模型。最初由Google Brain团队开发,TensorBoard已经成为深度学习领域最受欢迎的可视化工具之一。
  • TensorBoard是TensorFlow的一个附件,可以记录训练过程的数字、图像等内容,方便研究人员观察神经网络训练过程。
  • 目前,TensorBoard在TensorBoardX工具辅助下,可以和其他框架,如Pytorch,结合使用实现建模和训练的可视化。
  • TensorBoardX是一个PyTorch生态中的工具库,它允许PyTorch用户像TensorFlow用户一样方便地使用TensorBoard进行可视化。

TensorBoard的主要功能包括:

  • 可视化模型的计算图
  • 跟踪和展示训练指标(如损失和准确率)
  • 展示权重和偏差的直方图
  • 显示图像、文本和音频数据样本
  • 分析模型的计算性能

TensorBoardX与TensorBoard的依赖关系

  • 当前最新版本的TensorBoardX仍然需要安装TensorBoard作为基础依赖才能正常使用。TensorBoardX本质上是对TensorBoard功能的封装扩展,它通过调用TensorBoard的核心功能来实现PyTorch的可视化支持。虽然部分基础功能可能不需要完整安装TensorFlow,但TensorBoard组件是必须安装的。

易混关系辨析

  • 单独的TensorBoardX并不能进行可视化展示,TensorBoardX本质上是对TensorBoard功能的封装扩展,通过调用TensorBoard的核心功能来实现PyTorch的可视化支持。
  • 所以,在Pytorch环境中安装TensorBoard,可以广义来说安装TensorBoardX或者安装TensorBoard。但更严格来说,是在Pytorch环境中安装TensorBoard。
  • 读者在阅读文章,可以视TensorBoardx和TensorBoard为等价工具。执行命令和使用没有区别,代码写法可能稍有区别。

Pytorch安装TensorBoard并验证

1. TensorBoard安装和访问

  1. 激活需要安装TensorBoardX的虚拟环境
python 复制代码
conda activate env_name
  1. 进入虚拟环境后,安装tensorboardtensorboardX非必须
bash 复制代码
pip install tensorboard
# 可以不安装tensorboardX
pip install tensorboardX
  1. 打开项目文件,导入相关的包,并在该目录下创建一个测试日志目录。如果执行成功,表明tensorboard安装成功

    • 使用PyTorch官方集成的TensorBoard支持(无需显式调用writer.close()
    python 复制代码
    from torch.utils.tensorboard import SummaryWriter
    writer = SummaryWriter(log_dir = 'test')
    writer.log_dir
    for i in range(10):
        writer.add_scalar('mul', i*i, i)
    • 如果也安装了tensorboardX ,使用TensorBoardX进行操作(必须显示调用writer.close())
    python 复制代码
    from tensorboardX import SummaryWriter
    writer = SummaryWriter(log_dir = 'test')
    for i in range(10):
        writer.add_scalar('mul', i*i, i)
    writer.close()  # 确保关闭 writer    
  2. 由于在虚拟环境中安装的tensorboard,所以想要启动也需要进入虚拟环境。操作方法是:在test目录所在文件夹下打开终端,然后在终端中激活python虚拟环境,然后使用tensorboard --logdir="xxx"命令运行TensorBoard。默认情况下,TensorBoard会在本地6006端口启动。你可以在浏览器中访问http://localhost:6006来查看可视化结果。

basd 复制代码
conda activate [env_name]
bash 复制代码
tensorboard --logdir="test"
或者
tensorboard --logdir=./test
  • 完整执行代码如下:
bash 复制代码
D:\code\deeplearning_view_tools>conda activate pytorch_stu

(pytorch_stu) D:\code\deeplearning_view_tools>tensorboard --logdir="test"
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.19.0 at http://localhost:6006/ (Press CTRL+C to quit)
  1. 执行代码绘图结果如下:

2. TensorBoard主要界面介绍

  • 启动TensorBoard后,主要包含选项卡:
  1. Custom Scalars:显示训练过程中的标量指标(如损失、准确率等),支持自定义图表布局和多个指标的对比分析。
  2. Images:显示训练过程中保存的图像数据,可用于可视化输入数据、特征图或模型生成的图像样本。
  3. Audio:播放保存的音频数据,适用于语音处理或音频生成模型的调试和评估。
  4. Debugger V2:调试器界面,提供实时变量监控、张量值和计算图检查功能,帮助诊断训练问题。
  5. Graphs:可视化模型的计算图,展示各层之间的连接关系和数据流向,支持交互式探索模型架构。
  6. Distributions:展示权重和偏差的分布变化,以折线图形式显示张量值随训练步骤的分布演变。
  7. Histograms:以直方图形式展示权重和偏差的变化,直观呈现参数在不同训练阶段的数值分布。
  8. Text:显示文本数据,可用于查看嵌入向量、自然语言处理模型的输入输出或日志信息。
  9. Pr Curves(Precision-Recall Curves):绘制精确率-召回率曲线,特别适用于分类模型的性能评估。
  10. Profile: 性能分析工具,提供训练过程中的详细时间消耗和资源使用情况,帮助优化模型效率。
  11. Hparams:超参数调优面板,支持比较不同超参数组合下的模型表现,辅助选择最佳配置。
  12. Mesh:3D数据可视化工具,用于显示和交互式探索三维网格数据(如点云、3D物体等)。
  13. What-if Tool:交互式模型探索工具,允许用户通过修改输入数据实时观察模型预测变化,支持公平性分析和反事实推理。
  14. Projector:使用PCA或t-SNE进行高维数据的降维可视化,特别适用于嵌入向量(embeddings)的可视化分析。

实用技巧

  1. TensorBoard不显示数据 :确保log_dir路径正确;检查是否传入TensorBoard回调;确认训练确实运行。

  2. 端口冲突

    bash 复制代码
    tensorboard --logdir=./logs --port 6007
  3. 加载太慢:减少日志文件数量;关闭不需要的选项卡。

相关推荐
William.csj9 分钟前
Pytorch/CUDA——flash-attn 库编译的 gcc 版本问题
pytorch·cuda
王上上24 分钟前
【论文阅读41】-LSTM-PINN预测人口
论文阅读·人工智能·lstm
智慧化智能化数字化方案37 分钟前
69页全面预算管理体系的框架与落地【附全文阅读】
大数据·人工智能·全面预算管理·智慧财务·智慧预算
PyAIExplorer40 分钟前
图像旋转:从原理到 OpenCV 实践
人工智能·opencv·计算机视觉
Wilber的技术分享1 小时前
【机器学习实战笔记 14】集成学习:XGBoost算法(一) 原理简介与快速应用
人工智能·笔记·算法·随机森林·机器学习·集成学习·xgboost
巴里巴气1 小时前
selenium基础知识 和 模拟登录selenium版本
爬虫·python·selenium·爬虫模拟登录
19891 小时前
【零基础学AI】第26讲:循环神经网络(RNN)与LSTM - 文本生成
人工智能·python·rnn·神经网络·机器学习·tensorflow·lstm
JavaEdge在掘金1 小时前
Redis 数据倾斜?别慌!从成因到解决方案,一文帮你搞定
python
ansurfen1 小时前
我的第一个AI项目:从零搭建RAG知识库的踩坑之旅
python·llm
前端付豪1 小时前
20、用 Python + API 打造终端天气预报工具(支持城市查询、天气图标、美化输出🧊
后端·python