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

查询网站开发网站关键词查询

查询网站开发,网站关键词查询,申请注册邮箱,网站流量利用#x1f60e;#x1f60e;#x1f60e;物体检测-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 点我下载源码 24、epoch循环训练------更新、评估、保存 这部分是训练过程的每个epoch结束之前执行的一…物体检测-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 点我下载源码 24、epoch循环训练------更新、评估、保存 这部分是训练过程的每个epoch结束之前执行的一系列操作主要包括学习率调整、模型评估、日志记录、模型保存等 # Schedulerscheduler.step()# DDP process 0 or single-GPUif rank in [-1, 0]:# mAPif ema is not None:ema.update_attr(model, include[yaml, nc, hyp, gr, names, stride])final_epoch epoch 1 epochsif not opt.notest or final_epoch: # Calculate mAPresults, maps, times test.test(opt.data,batch_sizetotal_batch_size,imgszimgsz_test,modelema.ema.module if hasattr(ema.ema, module) else ema.ema,single_clsopt.single_cls,dataloadertestloader,save_dirlog_dir)# Writewith open(results_file, a) as f:f.write(s %10.4g * 7 % results \n) # P, R, mAP, F1, test_losses(GIoU, obj, cls)if len(opt.name) and opt.bucket:os.system(gsutil cp %s gs://%s/results/results%s.txt % (results_file, opt.bucket, opt.name))# Tensorboardif tb_writer:tags [train/giou_loss, train/obj_loss, train/cls_loss,metrics/precision, metrics/recall, metrics/mAP_0.5, metrics/mAP_0.5:0.95,val/giou_loss, val/obj_loss, val/cls_loss]for x, tag in zip(list(mloss[:-1]) list(results), tags):tb_writer.add_scalar(tag, x, epoch)# Update best mAPfi fitness(np.array(results).reshape(1, -1)) # fitness_i weighted combination of [P, R, mAP, F1]if fi best_fitness:best_fitness fi# Save modelsave (not opt.nosave) or (final_epoch and not opt.evolve)if save:with open(results_file, r) as f: # create checkpointckpt {epoch: epoch,best_fitness: best_fitness,training_results: f.read(),model: ema.ema.module if hasattr(ema, module) else ema.ema,optimizer: None if final_epoch else optimizer.state_dict()}# Save last, best and deletetorch.save(ckpt, last)if best_fitness fi:torch.save(ckpt, best)del ckpt更新学习率调度器的状态根据预定的策略如学习率衰减调整学习率以帮助模型更好地收敛如果不是分布式训练或者在分布式训练的主进程如果使用了指数移动平均EMA模型将更新EMA模型的属性更新EMA模型的属性包括模型配置yaml、类别数量nc、超参数hyp、损失比例gr、类别名称names和步长stride这是为了确保EMA模型与训练模型保持同步final_epoch 判断当前epoch是否是训练的最后一个epoch确定何时执行一些只在训练结束时需要进行的操作如保存模型非常关键如果设置为在每个epoch结束时都进行测试notest为False或者当前是最后一个epoch则执行模型测试从测试脚本中调用测试函数进行模型评估。计算模型在测试集上的性能指标包括精度、召回率和mAP等。根据是否使用EMA以及是否在模型上使用了DataParallel或DistributedDataParallel选择适当的模型进行评估打开测试文件将测试结果写入到指定的文件中results_file是存储结果的文件路径s是包含训练信息的字符串results包含了测试指标的值如果指定了云存储桶bucket和文件命名name将结果文件上传到云存储如果配置了TensorBoard日志记录器定义一组标签用于在TensorBoard中组织不同的训练和验证指标遍历每个指标及其对应的标签使用TensorBoard的add_scalar函数记录这些指标在TensorBoard中进行可视化fi 调用辅助函数fitness计算一个综合性能指标称为fitness它基于测试结果例如精度、召回率、mAP等如果当前epoch的fitness分数高于迄今为止的最佳分数则best_fitness 更新最佳fitness分数save 决定是否保存模型。如果不是显式地设置为不保存模型nosave为False或者当前是最后一个epoch并且没有进行模型进化evolve为False则保存模型如果满足保存模型的条件读取并保存当前模型的状态包括epoch数、最佳fitness分数、训练结果、模型本身以及优化器的状态如果不是最后一个epoch将模型的状态保存到文件中。last变量代表最后一个checkpoint的文件名如果当前模型的fitness等于最佳fitness则将其保存为最佳模型的checkpoint删除临时保存的模型状态字典释放内存 这部分展示了在训练过程中每个epoch结束之前执行的关键步骤包括更新学习率、评估模型性能、记录和保存结果、以及条件性地保存模型的状态。这些步骤对于监控训练进度、评估模型性能和保证训练过程的可重现性非常重要 25、结束epoch循环训练的后续处理 这部分主要涉及在训练结束的清理和保存工作包括重命名和保存训练结果、模型状态、上传权重到云存储、绘制结果图表和清理资源等 if rank in [-1, 0]:# Strip optimizersn (_ if len(opt.name) and not opt.name.isnumeric() else ) opt.namefresults, flast, fbest results%s.txt % n, wdir last%s.pt % n, wdir best%s.pt % nfor f1, f2 in zip([wdir last.pt, wdir best.pt, results.txt], [flast, fbest, fresults]):if os.path.exists(f1):os.rename(f1, f2) # renameispt f2.endswith(.pt) # is *.ptstrip_optimizer(f2) if ispt else None # strip optimizeros.system(gsutil cp %s gs://%s/weights % (f2, opt.bucket)) if opt.bucket and ispt else None # upload# Finishif not opt.evolve:plot_results(save_dirlog_dir) # save as results.pnglogger.info(%g epochs completed in %.3f hours.\n % (epoch - start_epoch 1, (time.time() - t0) / 3600))dist.destroy_process_group() if rank not in [-1, 0] else Nonetorch.cuda.empty_cache()return results如果不是分布式训练或者是分布式训练的主进程n构造文件名的前缀。如果用户提供了命名opt.name且名称不是全数字则在名称前加上下划线否则直接使用名称。这有助于生成更具可读性和组织性的文件名fresults, flast, fbest基于上一步得到的名称前缀n构造结果文件、最后一个模型状态文件和最佳模型状态文件的完整路径使用for循环结合zip函数遍历原始文件名和新文件名的列表f1是原始文件名f2是新文件名如果原始文件f1存在则将其重命名为新的文件名f2保持文件命名的一致性和可识别性ispt 判断文件是否是.pt格式的模型文件对于接下来是否执行某些特定操作如剥离优化器状态很关键如果文件是.pt格式的模型文件则执行辅助函数strip_optimizer从模型文件中移除优化器的状态。这可以减小文件大小便于分享或部署模型如果指定了云存储桶opt.bucket且文件是模型文件则使用gsutil cp命令将文件上传到云存储桶中。这便于模型的远程存储和访问如果不是在执行进化训练opt.evolve调用辅助函数plot_results在指定的日志目录中保存训练结果的图表通常为results.png有助于可视化训练过程记录一条日志信息训练完成包括完成的epochs数和总耗时以小时计如果当前进程是分布式训练中的非主进程则销毁进程组。这是分布式训练结束时的清理工作有助于正确地关闭分布式训练环境清空CUDA缓存。这有助于释放未使用的GPU内存使其可用于其他应用程序返回训练过程中的最终结果包括模型性能指标等重要信息
http://www.hkea.cn/news/14587741/

相关文章:

  • html 网站建设中模板2024年新闻摘抄
  • 天津网站建设优化濮阳网站建设哪里便宜
  • 介绍好的电影网站模板下载菜单设计制作app
  • wordpress站群 优化德宏州乡城建设局网站
  • 做淘宝推广开网站合适网站项目宣传片
  • 广西 南宁 微信微网站开发centos7更新Wordpress
  • 成都网站开发公司有哪些建设网站首页应该采用
  • 企业网站推广推广阶段河南龙王建设集团网站
  • 广东手机网站建设价格低阿里云建设网站教学
  • 科室网站建设做网站费用联系方式
  • 教育主管部门建设的专题资源网站企业网站建设排名官网
  • 网站设计制作好么宜宾长宁网站建设
  • 兰州金建工程建设监理网站wordpress外网跳转
  • 帮忙做公司网站建立皇朝争霸完结小说
  • 肥城网站制作网站开发移动端多少钱
  • 小厂建网站不懂网站建设.怎么销售
  • 站长工具在线平台凡科建网
  • 高职网站建设专业书石家庄做建站模板
  • 静态旅游网站网站建设买服务器价格
  • python网站开发优缺公司网站建设方案汇报
  • 门户型网站建设方案合肥做网站的
  • 安徽做网站哪家好免费简约ppt模板
  • 用台电脑做网站淮南做网站的
  • 做网站支持提现支付宝电子商务主要课程
  • 如何用凡科做网站wordpress侧边浮窗
  • 查法人信息的网站秦皇岛城乡建设局和住建局官网
  • 做网站与考研北京 网络发布
  • 公司做网站的价格怎样做淘宝的导购网站推广
  • 电影网站空间配置企业互联网推广
  • 网站建设那家公司好模板网站五金