zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Pytorch中的可视化——tensorboardX(一)

PyTorch 可视化
2023-06-13 09:12:32 时间

Tensorboard是谷歌开发的深度学习框架tensorflow的一套深度学习可视化神器,在pytorch团队的努力下,他们开发出了tensorboardX来让pytorch的用户也能享受tensorboard的福利。

首先安装依赖库:

pip install tensorboard
pip install tensorboardX

先画一条y=x曲线熟悉一下

#import SummaryWriter模块
from tensorboardX import SummaryWriter
#创建SummaryWriter对象,以输出日志的文件夹名作为参数
writer=SummaryWriter("logs")
#y=x图像
for i in range(100):
    #画图
    writer.add_scalar("y=x",i,i)
writer.close()

' SummaryWriter '类提供了一个高级API,可以在给定的目录中创建一个事件文件,并向其中添加摘要和事件。

SummaryWriter类的构造函数

def __init__(
            self,
            logdir: Optional[str] = None,
            comment: Optional[str] = "",
            purge_step: Optional[int] = None,
            max_queue: Optional[int] = 10,
            flush_secs: Optional[int] = 120,
            filename_suffix: Optional[str] = '',
            write_to_disk: Optional[bool] = True,
            log_dir: Optional[str] = None,
            comet_config: Optional[dict] = {"disabled": True},
            **kwargs):

一般填写第一个参数即可,传入要保存日志文件的文件夹。

add_scalar()函数第一个参数是图像的名称,传入一个字符串,第二个参数是y轴的值,第三个参数是x轴的值。

close()函数关闭当前SummaryWriter对象。

执行tensorboard_test.py,将会在对应的文件夹生成日志文件

随后要打开日志文件,绘制图画

要在Terminal进入存放日志的文件夹,输入命令

tensorboard --logdir="."

按照网上很多教程,只需要进入到与logs(我的日志文件在logs下存放)同级的文件夹,执行tensorboard --logdir="logs"即可,但我执行这条指令后,Terminal没有报错也没有任何输出,后来摸索出来应该进入logs再执行tensorboard --logdir=".",’.‘表示当前文件夹,便可以正常输出。

执行结果为

(AI) C:\Users\且看风去风留\PycharmProjects\pytorch\logs>tensorboard --logdir="."
2022-02-02 13:28:40.082181: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'cudart64_110
.dll'; dlerror: cudart64_110.dll not found
2022-02-02 13:28:40.082907: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU se
t up on your machine.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.4.1 at http://localhost:6006/ (Press CTRL+C to quit)

点击最后一行的url,便可看到图像,效果如图: