美文网首页机器学习与计算机视觉ML
Pytorch+TensorboardX实现可视化训练

Pytorch+TensorboardX实现可视化训练

作者: 小光K | 来源:发表于2019-03-23 16:35 被阅读64次

    最近在调试自己用pytorch搭建的神经网络,理论上来说网络结构是比较合理的,但总是train不出来。由于没有输出中间的权重参数,也不知道问题到底出在哪,所以决定尝试一下对训练过程进行可视化。
    常见的pytorch可视化有两种工具:Visdom和TensorboardX。这里主要尝试根据教程使用TensorboardX。

    准备工作

    pytorch环境

    python 3.7
    pytorch 1.0
    cuda 10
    numpy 1.15.4

    安装TensorboardX

    pip install tensorboardX
    pip install tensorboard
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple  # pip换源,加快下载速度
    pip install tensorflow
    

    TensorboardX可视化

    代码部分

    在我的网络里,我主要实现了下边几个可视化:

    • 权重直方图可视化
    • 模型图可视化
    tensorboard导入并初始化
    from tensorboardX import SummaryWriter 
    # 定义Summary_Writer
    writer = SummaryWriter('./Result')   # 数据存放在这个文件夹
    
    权重直方图可视化

    涉及函数:
    add_histogram绘制直方图
    用于代码中:

    for name, param in model.named_parameters(): 
        writer.add_histogram(name,param.clone().cpu().data.numpy(), idx)
    

    图模型可视化

    with writer:
        writer.add_graph(model, model_input)
    

    我自己搭建的网络,测试报错,据说标准网络可以使用。

    tensorboard服务启动

    因为我的代码是在远程服务器上运行的,所以这个方法适用于在远程跑代码的同学。

    1. 登录远程容器
    ssh -L 6006:127.0.0.1:6006 root@主机名(ip)-p 端口号 
    
    1. 通过cd命令进入存放数据文件夹的上级文件夹,并输入以下命令开启tensorboard服务
    tensorboard --logdir 存放数据文件夹名
    
    1. 在本地谷歌浏览器中输入ip地址127.0.0.1:6006即可

    相关图例介绍

    相关图例解释可在TensorFlow官网看到,例如TensorBoard 直方图信息中心

    参考文献:
    Pytorch训练可视化(TensorboardX)
    tensorboardX的GitHub
    远程访问Tensorboard

    相关文章

      网友评论

        本文标题:Pytorch+TensorboardX实现可视化训练

        本文链接:https://www.haomeiwen.com/subject/zscrvqtx.html