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不要省略,还错就是你的命令错误了