• pytorch使用tensorboardX进行loss可视化


    最近pytorch出了visdom,也没有怎么去研究它,主要是觉得tensorboardX已经够用,而且用起来也十分的简单

    pip install tensorboardX

    然后在代码里导入

    from tensorboardX import SummaryWriter

    然后声明一下自己将loss写到哪个路径下面

    writer = SummaryWriter('./log')

    然后就可以愉快的写loss到你得这个writer了

    niter = epoch * len(train_loader) + i
    writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'train_loss': loss.data.item()}, niter)

    其中,add_scalars是将不同得变量添加到同一个图下,图的名称是add_scalars得第一个变量

    然后为这个图中不同得曲线添加不同得标题,上面这一行代码

    writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'train_loss': loss.data.item()}, niter)

    后面得dict中得key是曲线的名称,后面的value是对应得append的值,再后面得niter是x坐标,这句话得意思就相当于,对于图名称为args.result_path + 'Train_val_loss'的图,对曲线名称为args.result_path+'train_loss'添加新的点,这个点为(niter, loss.data.item())

    同样的,我可以画出val的loss

    niter = epoch * len(train_loader) + i
    writer.add_scalars(args.result_path + 'Train_val_loss', {args.result_path+'val_loss': mean_loss}, niter)

    writer保存到了我们刚刚声明的路径’./log‘下面,然后终端启动tensorboard

    tensorboard --logdir ./log --port 8890

    不会用得进行tensorboard --help即可

    然后进行端口映射就行了

    实际上在使用的过程中,我发现了,如果你要保存的结果在各个子文件夹内,然后你在父文件夹运行tensorboard,就可以在浏览器看到各种结果,而不必再进行不同的端口映射

    比如上面这个,我的resnet文件夹下有不同的我writer写入的文件,在父目录下启动tensorboard之后,

    没毛病

  • 相关阅读:
    fastcgi性能调优(转)
    nginx location配置(转)
    elasticsearch配置文件详解(转)
    linux常用信号集
    phpstorm快捷键总结
    浅谈MVC中的service层(转)
    php中的内存管理的介绍(转)
    使用C语言开发PHP扩展(转)
    Linux恢复误删除的文件或者目录(转)
    笔记整理3——python实现MAC分析地理位置
  • 原文地址:https://www.cnblogs.com/yongjieShi/p/9437970.html
Copyright © 2020-2023  润新知