Replies: 1 comment
-
from wechat user talnex 主要问题是继承混乱,这个然后方法定义不明确。原则上java那种接口形式的是最清晰的,但python弱化了这种概念,这导致mmdet3d开发出来的代码把继承特性仅仅当作reuse来实用,导致继承极其混乱,哪些函数需要重写,使用者都不清晰(不像pytorch Module子类很明确重新forward就好,autograd.Fuction明确重新forward和backward)实用者需要阅读源码,极大增加学习成本和维护成本 先不说字典回溯困难。不论从任何角度,函数都应当仅接受自己操作的参数,字典这形式使得函数接收到本不属于自己的参数,使用者根本无法直观看出那些变量被修改,这种方式是很不安全的,而且*arg和**kwarg应该慎用,甚至不应当暴露给用户,这个参数同样会导致上述问题 我认为 mmdet3d并不是一个好的的 object-oriented 程序设计范例,虽然功能提供的很全面,但是感觉这种规模的团队不应该开发出这种学生级别的项目 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
OpenMMLab 2.0公测中文讨论区之MMDetection3D 1.1
Beta Was this translation helpful? Give feedback.
All reactions