File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -132,11 +132,11 @@ plt.show()
132132
133133## 设计的哲学
134134
135- 目前有很多优秀的库拥有着简洁易用的体验,比如fastai 、keras、scikit-learn,以及飞桨自家的PaddleHapi ,这些都是对复杂的代码进行封装,大大降低了用户上手难度以及用户学习成本,同时高度的封装带来的是灵活性、自定义性的下降,如何去权衡这两个矛盾是一个需要思考的问题
135+ 目前有很多优秀的库拥有着简洁易用的体验,比如 fastai 、keras、scikit-learn,以及飞桨自家的 PaddleHapi ,这些都是对复杂的代码进行封装,大大降低了用户上手难度以及用户学习成本,同时高度的封装带来的是灵活性、自定义性的下降,如何去权衡这两个矛盾是一个需要思考的问题
136136
137137* 命名的艺术
138138
139- 对函数的命名是一个需要推敲磨打的技术活,一方面函数命名尽量简单直观,做到用户自然记忆不需要查函数名,这就要求尽量命名短,单词意思尽量贴合使用场景。一方面又要避免与用户变量命名习惯冲突,比如" img" 这个命名很常见,大多数用来表示一张图片,故命名函数时尽可能避开它,这能降低因为命名问题造成的error
139+ 对函数的命名是一个需要推敲磨打的技术活,一方面函数命名尽量简单直观,做到用户自然记忆不需要查函数名,这就要求尽量命名短,单词意思尽量贴合使用场景。一方面又要避免与用户变量命名习惯冲突,比如 img 这个命名很常见,大多数用来表示一张图片,故命名函数时尽可能避开它,这能降低因为命名问题造成的 error
140140
141141``` python
142142# 针对 ImageNet 数据集进行验证的函数
@@ -151,7 +151,7 @@ ppma.imagenet2012.validate(model, img_path) # 变量命名有些冗余,可以
151151
152152* 结构的设计
153153
154- 高度封装以及灵活性是一对矛盾。比如具有高度封装的Keras,其灵活性和自定义性没有Pytorch那么好 。在本项目(模型分析)上,因为我们只是针对具体任务进行分析,其自定义性需求并不是那么高,我们可以适当提高封装性,同时支持更多的默认参数,用户可以通过修改默认参数来完成特定需求,比如CAM增加自定义标签 (默认是网络输出的标签)查看相应激活图。
154+ 高度封装以及灵活性是一对矛盾。比如具有高度封装的 Keras,其灵活性和自定义性没有 Pytorch 那么好 。在本项目(模型分析)上,因为我们只是针对具体任务进行分析,其自定义性需求并不是那么高,我们可以适当提高封装性,同时支持更多的默认参数,用户可以通过修改默认参数来完成特定需求,比如 CAM 增加自定义标签 (默认是网络输出的标签)查看相应激活图。
155155
156156``` python
157157# 本项目设计参考 Box 思想,用户只需要准备需要的放入函数里一键运行即可
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments