Pytorch_数据和模型可视化_tensorboard

可视化工具

 Using TensorBoard to visualize training progress and other activities
 Pytorch中,  
   TensorboardX
       lanpa大佬(Github用户名)就开发了tensorboardX,一个完全支持PyTorch的tensorboard工具包
	      from  tensorboard import SummaryWriter
   visdom是FaceBook开发的一款可视化工具,其实质是一款在网页端的web服务器,对Pytorch的支持较好
   
   PyTorch官方对tensorboard的支持是在PyTorch 1.1.0版本中实现的 # PyTorch TensorBoard support
      from torch.utils.tensorboard import SummaryWriter
    # Image display  matplotlib
      import matplotlib.pyplot as plt

1.资源队列与任务类型说明

 资源队列	资源队列ID   镜像ID 镜像地址
 任务名称 任务ID 任务类型 任务状态 任务优先级  时间(创建时间-更新时间-结束时间-运行时间) 操作(终止 删除)
    任务进展状态:
         排队中  运行中 成功 失败  已终止 异常 

平台创建训练任务

  说明: Google的tensorflow中的 tensorboard 是一个用于服务神经网络训练过程可视化的网络服务器,是以event的形式保存
  writer.add_scalar('myscalar', value, iteration)来记录(log)一个标量值。
  需要注意的是,如果给程序输入一个PyTorch tensor是不可以的,
           如果x是一个torch scalar tensor,要记得用x.item()提取标量值 
	add_scalar(tag, scalar_value, global_step=None, walltime=None) 
	      add_scalar 方法来记录训练过程的 loss、accuracy、learning rate等数值的变化,直观地监控训练过程
	add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None)
	add_graph(model, input_to_model=None, verbose=False, **kwargs)
	   可视化一个神经网络


1.train中增加代码
# 在main函数的args参数变量新增logdir作为的输出日志的路径
parser.add_argument('--logdir', type=str, default='runs')

# 加入SummaryWriter对象
from torch.utils.tensorboard import SummaryWriter
sw = SummaryWriter(log_dir=args.logdir)

def train(args, model, device, train_loader, optimizer, epoch):
# 对于每一个batch,在loss计算之后写进日志
    count=1
  # basic training loop
    optimizer.zero_grad()
	inputs, target = data
	outputs = net(inputs)
	 # 损失函数-NLLLoss 需要对  进行 log_softmax 处理,即将   转换成概率分布的形式,并且取对数,底数为 e
    loss = F.nll_loss(output, target)
    loss.backward()
    optimizer.step()
	#
    sw.add_scalar('Loss', loss.item(), global_step=count)
	# 
    count+=1
	
2.修改 config.json
新建任务配置 json,并保存为文本文件,utf-8 编码
其格式如	
{
    "type":"{任务类型}",
    "name":"{任务名}",
}

3.客户端提交任务   
./client job submit -c config.json  

参考

 https://pytorch.org/tutorials/beginner/introyt/tensorboardyt_tutorial.html
posted @ 2022-01-17 15:16  辰令  阅读(202)  评论(0编辑  收藏  举报