megemini
megemini
另外,PyTorch 的结果与我这里的算子一致,目前看,可能是 op_test 在 append op 的时候可能有点问题 ~ 这里只涉及静态图 ~
> 我看 merge 前的commit [2752082](https://github.com/PaddlePaddle/Paddle/commit/2752082963dad54d8777727c6d481b8d2e664112) CI也木有过。昨天晚上只合入了迁移单测目录的PR,应该木有影响 我 merge 之前的 branch 好像是两三个 星期 月 之前的了 ... ... 因为每次 merge 重新编译太耗时,偷懒了 ... ...
> > 我 merge 之前的 branch 好像是两三个月 之前的了 > > 要不要2分定位下? 感谢!是我的问题,op_test 我在本地修改的 ... ... 抱歉浪费大家的时间了,等过了 CI 再 @ 大家帮忙评审 ~ 抱歉 ~
@cxxly CI 基本都已通过 ~ 之前是我这边本地单元测试的一些问题,已解决 ~ 请评审,谢谢 ~
### Update 20240507 - 去掉 `momentum_decay_base` 参数,统一改为 `0.96` - 增加测试用例 - 其他细节修改 目前 CI 基本都已通过,不过,可能是这次单测增加的有点多,PR-CI-Coverage 超时了 ... ... @cxxly 请帮忙看看怎么办?谢谢 ~
> 注意一下与 paddlepaddle-stubs 不同的是,这里使用 `.py` 定义,所定义出来的是新的类型,是可能和运行时的类型混淆的(运行时真的有两个不同的 class),需要保证用户使用原有的类型时也是可以的,以及,用户一旦不小心使用了这里的 class 构造了运行时可访问的对象怎么办呢? > > 比如这里定义了 `paddle._typing.dtype`,如何保证它和 `paddle.dtype`(`paddle.base.core.DataType`)是一样的呢?最佳方式是为 `paddle.base.core.DataType` 提供 stub file,使其从根本上保持一致 > > Tensor 等 pybind 数据结构一样,都可以这样考虑 > > @megemini 觉得呢? 对!大原则参考 RFC...
@Asthestarsfalll 另外,这个任务需要补充 `_typing` 的测试用例和测试脚本哈 ~ 另起 PR 吗?
> > 如果没有 `docstring` 的需要,那么 `paddle.base.core.DataType` 的 stub file 也不需要 ~ > > 这个我没有太理解,stub file 更主要提供的是类型信息,docstring 则是次要的,为什么没有 docstring 的需要就可以不用 stub file 了呢? > 我的表述有问题 ~~~ 是说这个 `DataType` 可能不需要 ~ 刚才试了,还是要加!...
> > 利用模板,而不是直接生成 stub 文件 > > 模板唯一一个问题是不受 Ruff 等工具监控,代码风格无法保证 > 是的,所以这个模板文件原则上应该是能通过 mypy 的 python 文件 ~ 而不是 torch 的那种混有 `${xxx}` 进行字符串插入的模板 ~ 我在线下用 mypy 检查是通过的,后面考虑是否把他也加到 CI 的检查里面? > >...
补充说明一下根据模板 tensor.pyi.in 生成 tensor.pyi 的逻辑: - 利用正则在 `# annotation: ${xxx}` 后面插入 docstring、methods 等 - 利用正则在 `def xxx()...` 方法中插入文档 - 模板中存在定义的方法,如果缺少文档,则只插入文档