专栏名称: 机器学习初学者
号主黄博Github全球排名前90,3.6万Star!致力于为初学者提供学习路线和基础资料,公众号可以当作随身小抄,文章很全,建议收藏!点击菜单可以进入学习!
今天看啥  ›  专栏  ›  机器学习初学者

【深度学习】深度学习代码规范

机器学习初学者  · 公众号  ·  · 2024-08-05 12:00
    

主要观点总结

本文介绍了竞赛和深度学习通用项目的规范细节,包括代码框架的确定、命令行解析的定义、调参工具的选择以及减少深度学习模型随机性的方法。

关键观点总结

关键观点1: 代码框架的确定

根据任务选择合适的框架,如PyTorch Lightning或MMDection。遵守框架的默认目录结构,或创建适合自己的目录结构,包括general、layers和experiments等目录。

关键观点2: 命令行解析的重要性

虽然Notebook好用,但.py代码的实际运行和管理更加方便,因此命令行解析是关键。选择喜欢的参数解析器,在命令行中加入学习率、batch、seed等超参数。

关键观点3: 调参工具的选择

在调试和训练模型的过程中,需要多次训练,TensorBoard可以很好地管理实验日志。确定好学习率和batch size,选择合适的优化器。

关键观点4: 减少深度学习模型的随机性

模型是否可复现非常重要。把不同fold的次序存储到文件以减少随机性。保存好配置文件、模型权重、日志文件,以便进行实验对比。设置SEED来确保实验的一致性。


文章预览

每一场Kaggle比赛都一个项目,代码则需要按照规范进行整理。项目规范方便后续的沟通、迭代,非常关键。本文将对竞赛和深度学习通用项目的规范细节进行整理。 步骤1:确定代码框架 首先确定好具体任务,然后根据任务选择合适的框架,如 PyTorch Lightning 或 MMDection 。 如果框架有默认目录,则遵守。否则可以创建适合自己的目录,一般而言目录推荐如下: general :常见的训练过程、保存加载模型过程,与具体任务相关的代码。 layers :模型定义、损失函数等; experiments :具体任务的训练流程、数据读取和验证过程; general/ │   train.py │   task.py │   mutils.py layers/ experiments/ │   task1/ │        train.py │        task.py │        eval.py │        dataset.py │   task2/ │        train.py │        task.py │        eval.p ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览