DI-engine-docs
DI-engine-docs copied to clipboard
discussion: 中间件与 context 职能边界讨论
需讨论什么样的过程适合写成中间件;什么样的过程不适合写成中间件,而适合写成一个module内部的函数,或者一个单独的util函数。
需讨论什么样的变量适合使用ctx传递。什么样的变量适合在初始化中间件时传给 __init__ 或者外层函数。
上述讨论最终需形成一个统一的规范。
context 上只能添加只在一轮迭代中存在的临时属性(traj, data)和多轮迭代上累加的标量属性(train_iter, env_step)。 需要从 context 上取数或赋值的方法适合写成 middleware,反之则直接使用内部函数