tensorboardx可视画输出loss曲线用来分析过拟合,代码

安装tensorboardx 安装步骤:pip install tensorboardX

loss输出代码:

下面的参考:

#step1:倒入SummaryWriter
from tensorboardX import SummaryWriter
import numpy as np
#step:2初始化一个实例writer
writer = SummaryWriter(logs)#参数为指定存储路径

for i in range(100):
    #step:3记录loss
    #当数据只需要存储一个时用add_scalar()
    writer.add_scalar("test/sin",np.sin(i),i)#将我们所需要的数据保存在文件里面供可视化使用
    #当数据不止一个时使用add_scalars()
    writer.add_scalars("test1",{
          
   "sin":np.sin(i),"cos":np.cos(i)},i)
#step4:close
writer.close()

以上代码中,输出loss时,for循环中的i 就相当于那个epoch, 最关键的是writer.add_scalars(“test1”,{“sin”:np.sin(i),“cos”:np.cos(i)},i) 对应输出loss的代码是writer.add_scalars(args.result_path + ‘Train_val_loss’, {args.result_path + ‘train_loss’: total_loss.data.item()},epoch), 其中args.result_path + Train_val_loss’是输出文件的保存地址,args.result_path + train_loss’是线的名称,total_loss就是损失值loss了,也就是说{}里面的就是y值,epoch是横轴

将结果呈现出来: 终端输入tensorboard --logdir= “logs” # 绝对路径比较保险可能 其中logs是tensorboard输出文件的地址,不加“ ”也可以 如果没有呈现出来。就将命令行中的网址http://localhost:6006/复制到浏览器中,即可可视化

需要注意的是,像下面这样就可能会运行错误的, writer.add_scalars(args.result_path + ‘loss’, {“train_loss”: total_loss.data.item(),“eval_loss”: eval_loss.data.item()},epoch) 原因是数据类型错误

另 网络断开,让远程服务器程序继续执行的命令 nohup 你的命令 > myout.file 2>&1 & 注意2不要省略,还错就是你的命令错误了

经验分享 程序员 微信小程序 职场和发展