TensorBoard的使用以及遇到的坑

本文详细介绍TensorBoard的基本使用方法,包括如何生成事件文件、配置环境变量及解决常见的问题。此外,还分享了一些实战经验,帮助读者避免踩坑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于TensorBoard的介绍请参考这篇文章,https://github.com/tensorflow/tensorflow/blob/r0.11/tensorflow/tensorboard/README.md
里面关于 各个仪表板的用法和说明讲的很详细,就不多说了,下面主要说下遇到的问题,望后来者借鉴。
先附上代码,生成事件文件

import tensorflow as tf

#定义一个简单的计算图,实现向量加法的操作
input1=tf.constant([1.0,2.0,3.0],name="input1")
input2=tf.Variable(tf.random_uniform([3]),name="input")
output=tf.add_n([input1,input2],name="add")

#生成一个写日志的writer,并将当前的TensorFlow计算图写入日志。生成的文件在当前文件夹下
writer=tf.summary.FileWriter(".\log",tf.get_default_graph())
writer.close()
init = tf.global_variables_initializer()

tf.Session().run(init)

如果顺利的话,应该会生成1个事件文件,如图
这里写图片描述

接下来就是使用TensorBoard进行可视化分析了
在命令行窗口输入 tensorboard –logdir=log回车,注意不是在python的编辑环境里如spyder中,如果你这么做,你会得到一个错误SyntaxError: can’t assign to operator,
回到命令行窗口,执行tensorboard –logdir=log
这里写图片描述
在浏览器中复制上面的网址http://DESKTOP-1Q4IB10:6006就可以看到如下界面
这里写图片描述
没有任何数据,是不是很沮丧lol,因为我们的程序里面确实没有生成标量数据的事件文件,不过我们有图的事件数据a,点击图后就有结果了
这里写图片描述

成功的后面都有很多次失败的经历,下面具体说说我碰见的神坑:在上面的图里面,一直都没有数据!!!。像下面
这里写图片描述
这篇文章里提到win10路径的问题,我试了下还是不行,不过把log文件夹移动到别的地方再cd的话可以成功,心里想不能每次都移动吧,继续找解决办法,这篇文章提出要先激活Tensorflow环境再使用,按照里面的方法试了下,结果如下
这里写图片描述
可以看到网页的界面变了,难道是Google 的彩蛋/发呆,但是还是不能正常显示数据,只能继续找解决办法了,在这篇文章中,提出要将TensorBoard的程序路径添加到系统的环境变量中,我没有尝试,如果你看完本篇文章之后还有问题,不如去试下这个。那么话说回来,到底是哪块的问题?就在一筹莫展的时候,看着控制台上的命令,突然发现我的文件夹名“TensoBoard练习 “里面有中文,在想会不会是这个问题,改成TensorBoardTest后,运行结果如图
这里写图片描述
命令行中出现了警告,怎么回事?切换到正常环境下看看会不会再次出现
这里写图片描述
还是出现,仔细看看英语,说是发现了不止一个事件文件,回到文件夹,确实存在两个事件文件。
这里写图片描述
但是这两个区别在哪里?加载时又会加载哪个?一番研究下发现,每运行一次python程序,就会生成一个新的事件文件,但是这个事件文件是在前一个版本的基础上再增添的一些新的内容生成的,运行看看具体内容。
这里写图片描述
果然只是复制了一份数据。并且在存在多个事件文件的情况下,TensorBoard会读取最近生成的一次事件文件。
总结:使用TensorBoard没有特别的难,无非就是路径问题加中文文件名,注意这两点就没事了。

注意:一开始的那张图片里面直接使用tensorboard –logdir=log就可以,是因为我的文件夹就在桌面。后面演示时放到E盘底下。另外像

#tensorboard --logdir=C:\Users\dbsdz\Desktop\TensorBoardTest\log 可以
#cd E://TensorBoardTest      tensorboard --logdir=log  可以
#e: cd TensorBoardTest     tensorboard --logdir=log  可以

这类的命令也都可以正确显示数据。

# Get Started ## Installation 1. clone this repo. ``` git clone https://github.com/ShiqiYu/OpenGait.git ``` 2. Install dependenices: - pytorch >= 1.10 - torchvision - pyyaml - tensorboard - opencv-python - tqdm - py7zr - kornia - einops Install dependenices by [Anaconda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html): ``` conda install tqdm pyyaml tensorboard opencv kornia einops -c conda-forge conda install pytorch==1.10 torchvision -c pytorch ``` Or, Install dependenices by pip: ``` pip install tqdm pyyaml tensorboard opencv-python kornia einops pip install torch==1.10 torchvision==0.11 ``` ## Prepare dataset See [prepare dataset](2.prepare_dataset.md). ## Get trained model - Option 1: ``` python misc/download_pretrained_model.py ``` - Option 2: Go to the [release page](https://github.com/ShiqiYu/OpenGait/releases/), then download the model file and uncompress it to [output](output). ## Train Train a model by ``` CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase train ``` - `python -m torch.distributed.launch` [DDP](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html) launch instruction. - `--nproc_per_node` The number of gpus to use, and it must equal the length of `CUDA_VISIBLE_DEVICES`. - `--cfgs` The path to config file. - `--phase` Specified as `train`. <!-- - `--iter` You can specify a number of iterations or use `restore_hint` in the config file and resume training from there. --> - `--log_to_file` If specified, the terminal log will be written on disk simultaneously. You can run commands in [train.sh](train.sh) for training different models. ## Test Evaluate the trained model by ``` CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase test ``` - `--phase` Specified as `test`. - `--iter` Specify a iteration checkpoint. **Tip**: Other arguments are the same as train phase. You can run commands in [test.sh](test.sh) for testing different models. ## Customize 1. Read the [detailed config](docs/1.detailed_config.md) to figure out the usage of needed setting items; 2. See [how to create your model](docs/2.how_to_create_your_model.md); 3. There are some advanced usages, refer to [advanced usages](docs/3.advanced_usages.md), please. ## Warning - In `DDP` mode, zombie processes may be generated when the program terminates abnormally. You can use this command [sh misc/clean_process.sh](./misc/clean_process.sh) to clear them.
03-18
<think>嗯,用户这次给了一个关于OpenGait的安装和使用指南的文档,然后让我用中文介绍一下或者回答相关问题。看起来用户可能是想部署或者使用这个OpenGait项目,但可能遇到了问题,或者需要更详细的解释。 首先,我需要先仔细阅读用户提供的文档内容,理解每个步骤的作用。用户之前问过关于Conda的错误,可能他现在在尝试安装依赖时遇到了问题,所以需要确保依赖安装正确。也可能他在训练或测试模型时遇到问题,需要帮助。 接下来,用户提供的文档里有几个部分:安装、准备数据集、获取预训练模型、训练、测试、自定义和警告。我需要将这些内容用中文重新组织,确保结构清晰,步骤明确,并且符合用户之前提到的系统级指令,比如数学公式的格式,但这里可能不太涉及数学公式,主要是代码块和命令行指令。 需要注意的是,用户可能对某些步骤不熟悉,比如分布式训练中的DDP模式,或者如何处理僵尸进程。所以解释的时候要尽量简明,但关键点要说清楚。比如在安装依赖时,使用conda和pip两种方式,可能需要提醒用户注意版本兼容性,特别是PyTorch的版本是否与CUDA匹配。 另外,用户之前遇到的Conda错误可能与安装依赖有关,所以在解释安装步骤时,可能需要加入一些注意事项,比如如何避免环境冲突,或者如何正确使用conda-forge频道。同时,用户可能在数据集准备部分需要更多指导,文档里只是提到了一个链接,可能需要补充说明常见的数据集准备步骤或可能遇到的问题。 还有,训练和测试命令中的参数解释需要清楚,比如CUDA_VISIBLE_DEVICES和nproc_per_node的关系,确保用户理解如何根据自己GPU的数量调整参数。自定义部分可能涉及配置文件的理解和模型构建,用户可能需要更多的指引,但文档里已经提供了链接,可能需要强调这些文档的重要性。 最后,警告部分提到的僵尸进程问题,用户可能需要知道如何避免或处理这种情况,所以解释清理命令的作用和使用方法是必要的。 总结下来,我需要将用户提供的英文指南转化为结构清晰的中文步骤说明,补充可能需要的注意事项,并确保代码块正确格式化。同时,考虑到用户可能的技术水平,避免使用过于专业的术语,保持解释的易懂性。此外,检查是否有潜在的,比如版本冲突、环境配置问题,给出相应的建议,帮助用户顺利完成OpenGait的安装和使用。</think>--- ### **OpenGait 快速入门指南** --- #### **1. 安装步骤** ##### **1.1 克隆代码仓库** ```bash git clone https://github.com/ShiqiYu/OpenGait.git ``` ##### **1.2 安装依赖项** **支持两种安装方式(任选其一):** - **通过 Anaconda 安装(推荐)** 使用 Conda 管理环境可避免依赖冲突: ```bash # 安装基础依赖 conda install tqdm pyyaml tensorboard opencv kornia einops -c conda-forge # 安装 PyTorch 1.10 和对应版本的 torchvision conda install pytorch==1.10 torchvision -c pytorch ``` - **通过 pip 安装** 确保已安装兼容的 Python 环境(建议 Python 3.8+): ```bash pip install tqdm pyyaml tensorboard opencv-python kornia einops pip install torch==1.10 torchvision==0.11 ``` **注意事项:** - 若使用 GPU,需提前安装与 PyTorch 1.10 匹配的 CUDA 驱动(推荐 CUDA 11.3)。 - 若安装失败,检查网络是否可访问 PyPI 或 Conda 源(国内用户可切换清华镜像)。 --- #### **2. 准备数据集** - 参考文档 [prepare_dataset.md](2.prepare_dataset.md),按指引下载并预处理数据集(如 CASIA-B、OU-MVLP 等)。 - 确保数据集路径与配置文件中的 `dataset_root` 参数一致。 --- #### **3. 获取预训练模型** - **方式一(自动下载)**: ```bash python misc/download_pretrained_model.py ``` - **方式二(手动下载)**: 访问 [Release 页面](https://github.com/ShiqiYu/OpenGait/releases/),下载模型文件后解压到 `output` 目录。 --- #### **4. 模型训练** **单机多卡训练命令示例**: ```bash CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase train ``` **参数解析**: - `CUDA_VISIBLE_DEVICES=0,1`:指定使用 GPU 0 和 1。 - `--nproc_per_node=2`:每个节点使用 2 个进程(需与 GPU 数量一致)。 - `--cfgs`:配置文件路径(如 `baseline.yaml`)。 - `--phase train`:指定训练模式。 **其他选项**: - 使用 `--log_to_file` 可将日志保存到文件。 - 直接运行 [train.sh](train.sh) 脚本可快速启动不同模型的训练。 --- #### **5. 模型测试** **评估模型性能**: ```bash CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase test --iter 100000 ``` **关键参数**: - `--phase test`:指定测试模式。 - `--iter 100000`:加载第 10 万次迭代的模型权重。 --- #### **6. 自定义配置与模型** 1. **配置文件详解** 阅读 [detailed_config.md](docs/1.detailed_config.md) 了解如何调整超参数(如学习率、数据集路径等)。 2. **自定义模型** 参考 [how_to_create_your_model.md](docs/2.how_to_create_your_model.md) 添加新网络结构。 3. **高级功能** 如多机训练、混合精度训练等,详见 [advanced_usages.md](docs/3.advanced_usages.md)。 --- #### **7. 常见问题与警告** - **僵尸进程清理** 若训练异常终止导致进程残留,运行以下命令清理: ```bash sh misc/clean_process.sh ``` - **DDP 模式兼容性** 确保 PyTorch 版本与 CUDA 驱动匹配,避免分布式训练失败。 --- ### **操作验证** - **依赖安装检查** 运行 `python -c "import torch; print(torch.__version__)"` 应输出 `1.10.x`。 - **训练启动验证** 执行训练命令后,检查终端是否正常输出损失值和进度条。 --- ### **扩展支持** - 若遇到环境配置问题,可尝试使用 Docker 镜像(需自行构建)。 - 详细文档参考 [OpenGait Wiki](https://github.com/ShiqiYu/OpenGait/wiki)。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值