From 8107b3fc9725453f9d9a465bff5257e8910ce0a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=A6=E9=87=8C=E8=8C=B6?= <1418659400@qq.com> Date: Sun, 3 Oct 2021 10:23:09 +0800 Subject: [PATCH] Update torch_best_practice.md --- ml/pratice/torch_best_practice.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ml/pratice/torch_best_practice.md b/ml/pratice/torch_best_practice.md index a89699c..f17d1c2 100644 --- a/ml/pratice/torch_best_practice.md +++ b/ml/pratice/torch_best_practice.md @@ -1,5 +1,4 @@ -# 如何让炼丹更有条理 - +# Pytorch实验代码的亿些小细节 ## 序 你是否有过这样的经历:炼了一大堆的丹,但过了一周回来看结果,忘记了每个模型对应的配置;改了模型中的一个组件,跑起来一个新的训练,这时候测试旧模型却发现结果跟原来不一样了;把所有的训练测试代码写在一个文件里,加入各种if else,最后一个文件上千行,一个周末没看,回来改一个逻辑要找半天……其实这些情况除了深度学习相关的开发,在别的软件开发中也是很常见的,为了解决这些问题,软件行业的开发者形成了很多套路,比如设计模式,提高代码复用性,或者各种最佳实践,比如谷歌、阿里都有一套Java开发最佳实践,各种框架比如客户端的Android,后端的spring,也有各种最佳实践,让开发者的代码更加简洁,更专注于核心的业务实现。在炼丹领域,从2016年至今,各大训练框架互相竞争,互相学习,学术界基于这些框架产出了很多论文,质量越高的论文,往往代码写得也越有条理,最新的论文代码也渐渐形成了一些固定的范式。笔者在学校和工业界阅读过许多论文的开源代码,也基于别人的代码做过不少的改进,有些代码也在工业界落地,自己的炼丹代码也渐渐形成了一些风格,今天就讲讲自己炼丹代码中的一些能让实验更有条理的小习惯。