We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
框架现存部分 API 文档使用了 @templatedoc 装饰器来通过提取 OP 定义中的参数描述来自动生成 docstring,比如 row_conv:
@templatedoc
row_conv
Paddle/python/paddle/static/nn/common.py
Lines 3337 to 3383 in 08c0424
很明显,它通过其模板部分(如 ${comment}、${x_type}、${x_comment} 等)是通过 OpMaker 中的参数描述来填充的:
${comment}
${x_type}
${x_comment}
Paddle/paddle/fluid/operators/row_conv_op.cc
Lines 77 to 135 in 08c0424
可以猜测,当初的设计是为了避免重复书写参数描述,但是这样一方面会导致文档编写不直观,另一方面 IDE 无法通过静态分析获取完整的 docstring,开发体验较差。而 OpMaker 在未来是会被清理的,因此我们需要将这部分文档迁移到 docstring 中。
另外,因为一些 fluid 等的历史原因,我们框架内也存在了两份 layer_function_generator.py(templatedoc 的定义文件),因此我们希望尽可能清理掉无用的函数 / 文件,保持框架代码的整洁
layer_function_generator.py
templatedoc
python/paddle/base/layers/layer_function_generator.py
python/paddle/tensor/layer_function_generator.py
add_sample_code
Tip
PR 应拆尽拆,尽可能每个 PR 只做一件事情~
The text was updated successfully, but these errors were encountered:
感谢您的建议,我们会慎重考虑的。
Sorry, something went wrong.
@yangjianfengo1 开源任务 tracking issue 哈,值班同学可以跳过,卡片已删除
SigureMo
Successfully merging a pull request may close this issue.
背景
框架现存部分 API 文档使用了
@templatedoc
装饰器来通过提取 OP 定义中的参数描述来自动生成 docstring,比如row_conv
:Paddle/python/paddle/static/nn/common.py
Lines 3337 to 3383 in 08c0424
很明显,它通过其模板部分(如
${comment}
、${x_type}
、${x_comment}
等)是通过 OpMaker 中的参数描述来填充的:Paddle/paddle/fluid/operators/row_conv_op.cc
Lines 77 to 135 in 08c0424
可以猜测,当初的设计是为了避免重复书写参数描述,但是这样一方面会导致文档编写不直观,另一方面 IDE 无法通过静态分析获取完整的 docstring,开发体验较差。而 OpMaker 在未来是会被清理的,因此我们需要将这部分文档迁移到 docstring 中。
另外,因为一些 fluid 等的历史原因,我们框架内也存在了两份
layer_function_generator.py
(templatedoc
的定义文件),因此我们希望尽可能清理掉无用的函数 / 文件,保持框架代码的整洁目标
templatedoc
装饰器的使用,将 OP 定义中的参数描述添加到现有的 docstring 中(不必清理 OpMaker 中的,只需要 copy 到 docstirng 即可),清理后框架不再存在templatedoc
装饰器的使用templatedoc
函数定义,清理layer_function_generator.py
(python/paddle/base/layers/layer_function_generator.py
和python/paddle/tensor/layer_function_generator.py
)无用函数layer_function_generator.py
其余函数(如add_sample_code
,看是否能完全清理掉,此为进取项)Tip
PR 应拆尽拆,尽可能每个 PR 只做一件事情~
收益
The text was updated successfully, but these errors were encountered: