当前位置: 首页 > news >正文

商丘做网站哪个好网络系统管理和配置

商丘做网站哪个好,网络系统管理和配置,统计 网站关键字 布局,wordpress会员内容文章目录 1. LossHistory日志类定义2. LossHistory类的使用2.1 实例化LossHistory2.2 记录每个epoch的loss2.3 训练结束close掉SummaryWriter 3. 利用Tensorboard 可视化3.1 显示可视化效果 参考 利用Tensorboard记录训练过程中每个epoch的训练loss以及验证loss#xff0c;便于… 文章目录 1. LossHistory日志类定义2. LossHistory类的使用2.1 实例化LossHistory2.2 记录每个epoch的loss2.3 训练结束close掉SummaryWriter 3. 利用Tensorboard 可视化3.1 显示可视化效果 参考 利用Tensorboard记录训练过程中每个epoch的训练loss以及验证loss便于及时了解网络的训练进展。 代码参考自 B导github仓库: https://github.com/bubbliiiing/deeplabv3-plus-pytorch 1. LossHistory日志类定义 import os import matplotlib matplotlib.use(Agg) from matplotlib import pyplot as plt import scipy.signalimport torch import torch.nn.functional as F from torch.utils.tensorboard import SummaryWriter #from tensorboardX import SummaryWriter class LossHistory():def __init__(self, log_dir, model, input_shape):self.log_dir log_dirself.losses []self.val_loss []os.makedirs(self.log_dir)self.writer SummaryWriter(self.log_dir)try:dummy_input torch.randn(2, 3, input_shape[0], input_shape[1])self.writer.add_graph(model, dummy_input)except:passdef append_loss(self, epoch, loss, val_loss):if not os.path.exists(self.log_dir):os.makedirs(self.log_dir)self.losses.append(loss)self.val_loss.append(val_loss)with open(os.path.join(self.log_dir, epoch_loss.txt), a) as f:f.write(str(loss))f.write(\n)with open(os.path.join(self.log_dir, epoch_val_loss.txt), a) as f:f.write(str(val_loss))f.write(\n)self.writer.add_scalar(loss, loss, epoch)self.writer.add_scalar(val_loss, val_loss, epoch)self.loss_plot()def loss_plot(self):iters range(len(self.losses))plt.figure()plt.plot(iters, self.losses, red, linewidth 2, labeltrain loss)plt.plot(iters, self.val_loss, coral, linewidth 2, labelval loss)try:if len(self.losses) 25:num 5else:num 15plt.plot(iters, scipy.signal.savgol_filter(self.losses, num, 3), green, linestyle --, linewidth 2, labelsmooth train loss)plt.plot(iters, scipy.signal.savgol_filter(self.val_loss, num, 3), #8B4513, linestyle --, linewidth 2, labelsmooth val loss)except:passplt.grid(True)plt.xlabel(Epoch)plt.ylabel(Loss)plt.legend(locupper right)plt.savefig(os.path.join(self.log_dir, epoch_loss.png))plt.cla()plt.close(all)(1) 首先利用LossHistory类的构造函数__init__ 实例化Tensorboard的SummaryWriter对象self.writer并将网络结构图添加到self.writer中。其中__init__方法接收的参数包括保存log的路径log_dir以及模型model和输入的shape def __init__(self, log_dir, model, input_shape):self.log_dir log_dirself.losses []self.val_loss []os.makedirs(self.log_dir)self.writer SummaryWriter(self.log_dir)try:dummy_input torch.randn(2, 3, input_shape[0], input_shape[1])self.writer.add_graph(model, dummy_input)except:pass(2) 记录每个epoch的训练损失loss以及验证val_loss,并保存到tensorboar中显示 self.writer.add_scalar(loss, loss, epoch) self.writer.add_scalar(val_loss, val_loss, epoch)同时将训练的loss以及验证val_loss逐行保存到.txt文件中 with open(os.path.join(self.log_dir, epoch_loss.txt), a) as f:f.write(str(loss))f.write(\n)并且在每个epoch时调用loss_plot绘制历史的loss曲线并保存为epoch_loss.png, 由于每个epoch保存的图片都是重名的因此在训练结束时会保存最新的所有epoch绘制的loss曲线 2. LossHistory类的使用 2.1 实例化LossHistory 在训练开始前实例化LossHistory类调用__init__实例化时会创建SummaryWriter对象用于记录训练的过程中的数据比如loss, graph以及图片信息等 local_rank int(os.environ[LOCAL_RANK]) model DeepLab(num_classesnum_classes, backbonebackbone, downsample_factordownsample_factor, pretrainedpretrained) input_shape [512, 512]if local_rank 0:time_str datetime.datetime.strftime(datetime.datetime.now(),%Y_%m_%d_%H_%M_%S)log_dir os.path.join(save_dir, loss_ str(time_str))loss_history LossHistory(log_dir, model, input_shapeinput_shape)else:loss_history None对于多GPU训练时只在主进程(local_rank 0)记录训练的日志信息log 保存的路径log_dir利用loss_ 当前时间的形式记录 log_dir os.path.join(save_dir, loss_ str(time_str))2.2 记录每个epoch的loss 在每个epoch中利用loss_history的append_loss方法利用SummaryWriter对象保存loss: for epoch in range(start_epoch, total_epoch):...loss_history.append_loss(epoch 1, total_loss / epoch_step, val_loss / epoch_step_val)记录了每个epoch的训练loss以及验证val_loss同时将最新的loss曲线保存到本地epoch_loss.png并将历史的训练loss和val_loss保存为txt文件方便查看 2.3 训练结束close掉SummaryWriter loss_history.writer.close()3. 利用Tensorboard 可视化 Tensorboard最早是在Tensorflow中开发和应用的pytorch 中也同样支持Tensorboard的使用pytorch中的Tensorboard工具叫TensorboardX 它需要依赖于tensorflow库中的一些组件支持。因此在安装Tensorboardx之前需要先安装TensorFlow, 否则直接安装Tensorboardx运行会报错。 pip install tensorflow pip install tensorboardX3.1 显示可视化效果 训练结束后cd到SummaryWriter中定义好日志保存目录log_dir下执行如下指令 cd log_dir # log_dir为定义的日志保存目录 tensorboard --logdir./ --port 6006 然后会显示出访问的链接地址点击链接就可以查看Tensorboard可视化效果 Scalar模块展示训练过程中每个epoch的train_loss、Accuracy、Learn_Rating的数值变化 GRAPH模块展示的是模型的网络结构 HISTOGRAMS模块展示添加到tensorboard中各层的权重分布情况 参考 1 https://github.com/bubbliiiing/deeplabv3-plus-pytorch2 pytorch中使用tensorboard实现训练过程可视化
http://www.zqtcl.cn/news/222661/

相关文章:

  • 遵义建设厅官方网站 元丰兰州网站设计有限公司
  • 芜湖做网站的公司排名贵阳好的网站建设公司
  • 网站建设 骏域网站建设专家最有效的15个营销方法
  • 大连品牌官网建站为什么有些网站更新的信息看不到
  • 富阳市网站域名申请好了怎么做网站
  • 做药物分析必须知道的网站网站攻击一般有那些
  • 一般网站做哪些端口映射那个网站做境外自由行便宜
  • 网站的建站过程公司seo是什么意思
  • 胜利油田局域网主页入口seo自学网官网
  • 阜阳网站是网站开发与设计专业
  • 网站建设哪个品牌好网站新备案不能访问
  • 网站备案号申请流程华为企业文化
  • 服装网站目标互联网舆情报告
  • 1.网站开发的详细流程电商网站开发文档
  • 域名估价网站制作网站需要注意什么
  • 新浪云虚拟主机做电影网站用什么l软件做网站了
  • 方城网站建设猴痘的治疗方法
  • 做响应式网站有什么插件哔哩哔哩免费安装
  • 织梦网站默认密码wordpress菜单页和文章页路径不同
  • 那些网站可以做兼职网站建设与维护 东博
  • 快速建站的模板建设银行嘉兴分行官方网站
  • 江西智能网站建设wordpress三栏博客主题
  • 怎么做网站账号注册机sem竞价
  • 吕梁建设机械网站怎么让网站排名上去
  • 网站建设的需要分析龙岗招聘网
  • 如何制作企业的网站网站开发答辩ppt
  • 大连中山网站建设网站在线qq代码
  • 南昌seo网站微商城网站建设如何
  • anker 网站建设手机可以做网站的服务器吗
  • 门户网站建设 报价没有网页快照对网站有什么影响