运行PyTorch的SummaryWriter代码未自动生成logs文件夹如何解决
问题排查与解决方法
- 先确认tensorboard依赖安装完整
SummaryWriter依赖独立的tensorboard包,仅安装PyTorch不会自动附带,先执行以下命令确认安装:
pip install tensorboard
如果是conda环境可以用conda install tensorboard。
- 核对代码运行的工作目录
你代码中传入的'logs'是相对路径,会生成在执行python命令时的当前工作目录,而非py代码文件存放的目录。可以在代码开头加入以下内容打印当前工作目录,直接去对应路径查找:
import os print("当前工作目录:", os.getcwd())
如果想要固定生成到代码文件所在目录,可以修改SummaryWriter的路径参数:
import os from torch.utils.tensorboard import SummaryWriter log_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logs') writer = SummaryWriter(log_dir)
- 检查目录写入权限
如果当前运行代码的用户对工作目录没有写入权限,会导致文件夹创建失败。可以换成你有权限的目录,或者直接传入绝对路径指定日志存放位置,例如Windows下SummaryWriter(r'C:\Users\xxx\Desktop\logs'),Linux/Mac下SummaryWriter('/home/xxx/logs')。 - 强制刷新写入缓冲
部分场景下数据会先暂存在内存缓冲没写到磁盘,你可以在循环结束后、writer.close()之前加入writer.flush()强制落盘:
for i in range(100): writer.add_scalar("y=x", i, i) writer.flush() writer.close()
- 确认运行环境匹配
如果你用了虚拟环境、或者IDE多解释器配置,确认当前运行代码的Python解释器已经安装了tensorboard,避免调用了未装依赖的解释器导致静默失败。
内容的提问来源于stack exchange,提问作者Twinkle
相关产品推荐
相关产品推荐

