Nyakku Shigure

Results 167 comments of Nyakku Shigure

> 在 `tensor.prototype.pyi` 中增加 `EagerParamBase` 多出来的那几个属性 是否可以利用「组合」?Protocol 本身就非常契合组合的概念,类似于 Java、TypeScript 的 Interface 和 Rust 的 Trait ```python class Lazyable(Protocal): # 刚刚的一些独有方法 def initialize(self): ... class IrValue(Protocal): # Value 的相关方法 def is_dense_tensor_type(self):...

> 而,`python/paddle/distributed/fleet/base/distributed_strategy.py` 中的 DistributedStrategy 有很多 property ,与相对应的 `@xxx.setter` 都是分开的,导致出错,如: 离谱,离大谱……不过这个可以改代码就是了,改完其实更易读些,但还是不得不说,mypy 太拉了……

> 何时暴露 `EagerParamBase` 独有的方法 这个没办法,静态类型不可能将所有运行时的奇技淫巧都覆盖到,我们只需要确保需要的方法都能正确提示就好了~

这个还是蛮重要的,周末在想干点啥的时候,就想本地跑下全量确保问题是收敛的,因为从整体上来看,其他任务是可以让开发者来平稳推进的,但推进过程难免会影响那些监控不到的示例 (虽然我本地跑了下发现挂了就没后续了就是了……) 对于未来的监控,我觉得完善的监控是: - 如果修改示例代码,那么对该示例代码跑 mypy 检查 - 如果修改 API(含类型提示),那么对全量示例代码跑 mypy 检查,当然前提是时间可控,10 min 我觉得是可接受的,因为修改 API 的情况非常少见 不过现阶段的话,我们可以一起推进解决下这里的报错问题~

> 问题4:dtype 是否要支持 float 只有一个地方使用是么?而且并不是测相关 case 的,那我觉得没必要加,修改一下 case 吧,我觉得不应该推荐使用这种语义不明确的用法

> 由于没有环境验证示例代码(CI 上面好像也没测试),这里较多错误,该如何处理? 能修就修,不能修就这样吧,或者整个黑名单机制,部分 API 先不管吧

> 问题2:[abstract] 错误如何处理? 喔喔,没注意这里需要决策 > 在配置文件中 pyproject.toml 增加 disable_error_code = "abstract" 支持 file level 么?只是文件级别禁用我觉得是比较合适的

> 重新标注 Layer 相关的 weight_attr 为 Union 这种吧,看样子是个 undocumented behavior,但用的蛮多的