当前位置:   article > 正文

学习经验分享之七:YOLOv5代码中文注释_ssertionerror: error: --resume checkpoint does not

ssertionerror: error: --resume checkpoint does not exist

        近期学习YOLOv5的朋友比较多,为便于大家更好理解源码,对YOLOv5进行中文注释。需要的朋友可以关注我。

以下为部分代码示例。

  1. def main(opt):
  2. # 1、logging和wandb初始化
  3. # 日志初始化
  4. set_logging(RANK)
  5. if RANK in [-1, 0]:
  6. # 可以输出所有训练opt参数
  7. print(colorstr('train: ') + ', '.join(f'{k}={v}' for k, v in vars(opt).items()))
  8. # 这句代码用来检查代码版本是否是最新的
  9. check_git_status()
  10. # 用来检查requirements.txt所需包是否都满足
  11. check_requirements(exclude=['thop'])
  12. # wandb logging初始化
  13. wandb_run = check_wandb_resume(opt)
  14. # 2、判断是否使用断点续训resume, 加载参数
  15. if opt.resume and not wandb_run:
  16. # 使用断点续训 就从last.pt中读取相关参数
  17. # 如果resume是str,则将表示传入的是模型的路径地址
  18. # 如果resumeTrue,则通过get_lastest_run()函数找到runs为文件夹中最近的权重文件last.pt
  19. ckpt = opt.resume if isinstance(opt.resume, str) else get_latest_run()
  20. assert os.path.isfile(ckpt), 'ERROR: --resume checkpoint does not exist' # check
  21. # 相关的opt参数也要替换成last.pt中的opt参数
  22. with open(Path(ckpt).parent.parent / 'opt.yaml') as f:
  23. opt = argparse.Namespace(**yaml.safe_load(f)) # replace
  24. opt.cfg, opt.weights, opt.resume = '', ckpt, True # reinstate
  25. logger.info('Resuming training from %s' % ckpt) # print
  26. else:
  27. # 不使用断点续训 就可以文件中读取相关参数
  28. # opt.hyp = opt.hyp or ('hyp.finetune.yaml' if opt.weights else 'hyp.scratch.yaml')
  29. opt.data, opt.cfg, opt.hyp = check_file(opt.data), check_file(opt.cfg), check_file(opt.hyp) # check files

如果觉得对大家有帮助,欢迎点赞收藏关注,我会继续给大家做实验提供参考。有问题也欢迎私信我。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/680046
推荐阅读
相关标签
  

闽ICP备14008679号