【已解决】tensorboard:无法将“tensorboard”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

【已解决】tensorboard:无法将“tensorboard”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

问题描述

在用PyTorch环境下使用Tensorboard可视化工具的时候遇到无法识别tensorboard的情况,无法自动启动Tensorboard服务,强行访问localhost:6006/会显示No dashboards are active for the current data set

问题解决

分为两步:①创建一个有PyTorch的新环境(或者用现有PyTorch虚拟环境)②添加Tensorboard环境变量

一、创建PyTorch虚拟环境

注意:

①不要在base环境下
②不要在TensorFlow环境下

在参考了大量博文之后看到一种说法是,需要安装Tensorflow,这种说法是不对的,原意应该是PyTorch和TensorFlow都可以使用Tensorboard,而不是必须在有TensorFlow的情况下使用,所以不要在同时含有TensorFlow和PyTorch的环境中尝试,这无异于养蛊。

创建一个只包含PyTorch的干净的环境,可以起名叫pytorch,我用的是Python 3.9.13的环境,高一点低一点应该都没啥问题。

conda create -n pytorch python==3.9

安装必要包:tensorboard和tensorboardX

pip install tensorboard
pip install tensorboardX

二、添加tensorboard.exe环境变量

注意:

①确信找到tensorboard.exe的真实路径
②在用户和系统环境变量中都添加相关路径

①查看tensorboard.exe路径

可以通过uninstall指令查看tensorboard.exe的位置
在这里插入图片描述
tensorboard.exe的路径就是在C:\Users\zhn19\AppData\Roaming\Python\Python39\Scripts中,把这个添加到环境变量就行了,其中appdata文件夹在隐藏文件中,不过不用直接找到,复制路径就行

②添加环境变量

在这里插入图片描述
为了保险起见,上面的用户变量和下面的系统变量中的path都添加,实测不用把tensorboard.exe也添加进环境变量,如果不行可以加上试试

实例演示

下面分别在vscode和pycharm上用相同的代码进行演示:

from torch.utils.tensorboard import SummaryWriter


writer = SummaryWriter("logs")

for i in range(100):
    writer.add_scalar("y=2x", i*2, i)

writer.close()

启动tensorboard会话的命令:

tensorboard --logdir=logs

其中logswriter = SummaryWriter("logs")中自己定义的文件夹名称,也可以改成绝对路径

启动前准备

首先运行实例代码,会在子目录下生成一个logs的文件夹,里面是以events.out.tfevents.开头的文件,一般来说即使启动不了tensorboard服务,也可以运行代码并且生成对应文件

vscode

vscode中的Python插件自带tensorboard功能,可以通过命令行启动也可以通过点击对应按钮启动会话
在这里插入图片描述
这里选第一个就行
在这里插入图片描述
会自动在vscode中弹出TensorBoard的窗口
在这里插入图片描述

pycharm

终端进入对应环境,执行命令即可
在这里插入图片描述
点击链接用默认浏览器打开
在这里插入图片描述

最后提醒

一定要确认进入相应的环境中再执行,不要在默认的base环境中

猜你喜欢

转载自blog.csdn.net/buaa_zhn/article/details/129451605