Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
9447917
fix_cn_doc | isfinite_cn (#4667)
BeyondYourself Apr 22, 2022
03c95ee
modify tensor_introduction doc (#4297)
betterpig Apr 22, 2022
50715a1
update hardware_info_cn.md (#4653)
adaxiadaxi Apr 22, 2022
4467874
新增随机变量变换相关API中文文档 (#4642)
cxxly Apr 22, 2022
17ef2e8
Update hardware_info_cn.md (#4409)
onecatcn Apr 24, 2022
0e2a99a
remove deprecated parameter (#4673)
SigureMo Apr 24, 2022
f1fff45
全量搜索并删除中文文档(文档o-z部分)的<该op>表述,保持行文通顺; test=document_fix (#4665)
liyongchao911 Apr 24, 2022
a461db8
align the CN docs Name parameter annotation/全量搜索,统一中文文档中Name参数的说明; te…
liyongchao911 Apr 24, 2022
9e8b71c
【PaddlePaddle Hackathon 2】24、为 Paddle 新增 nn.ChannelShuffle 组网 API (#4…
BrilliantYuKaimin Apr 24, 2022
1027a39
添加sparse路径,添加创建Sparse Tensor的文档 (#4646)
Apr 24, 2022
7658c4c
update practices (#4675)
yang131313 Apr 25, 2022
01d8df5
update practice (#4679)
TCChenlong Apr 25, 2022
1bc6329
fix cn docs (scale, default_main_program, device_guard, gradients, na…
Yilingyelu Apr 25, 2022
a2a5911
Add new python api (#4649)
yang131313 Apr 26, 2022
588dae8
Update t_cn.rst
TCChenlong Apr 26, 2022
d94e346
Update common_docs.py
TCChenlong Apr 26, 2022
c2ffe48
fix cn_doc | is_tensor & normal (#4670)
BeyondYourself Apr 26, 2022
e279a30
【PaddlePaddle Hackathon 2】9、为 Paddle 新增 logspace API (#4497)
BrilliantYuKaimin Apr 27, 2022
0c8b6ec
align the code example with en docs using copy from function (#4683)
liyongchao911 Apr 27, 2022
a38aa37
get pulbic api list by __all__ of module (#4690)
Shaun2016 Apr 27, 2022
bce7b05
fix nanmean example bug and update links (#4686)
TCChenlong Apr 28, 2022
946e985
【PaddlePaddle Hackathon 2】29、为 Paddle 新增 PixelUnshuffle 组网 API (#4523)
BrilliantYuKaimin Apr 28, 2022
b03f551
add autotune.set_config api doc (#4687)
Apr 29, 2022
f8e40d9
suport tensor input for ColorJitter (#4710)
zoooo0820 Apr 29, 2022
94596e5
fix triangular_solve doc bug (#4714)
zhwesky2010 Apr 29, 2022
1ac46f9
add 2.3.0-rc0 Relesse Note (#4715)
TCChenlong Apr 30, 2022
63c94e9
add profiling model doc (#4694)
rainyfly May 5, 2022
6cd0893
Add custom device en docs (#4706)
windstamp May 6, 2022
1eaca62
Fix directory miss (#4728)
windstamp May 6, 2022
a21215e
GRU design doc of oneDNN kernels (#4726)
jczaja May 6, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
.idea
build
.vscode
venv/
136 changes: 71 additions & 65 deletions docs/api/gen_doc.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import multiprocessing
import platform
import extract_api_from_docs
from queue import Queue
"""
generate api_info_dict.json to describe all info about the apis.
"""
Expand Down Expand Up @@ -403,76 +404,81 @@ def set_display_attr_of_apis():
logger.info("set {} display to False".format(id_api))


def check_module_in_black_list(module_name):
black_module_list = [
'paddle.fluid',
]
for i in black_module_list:
if i in module_name:
return True
return False


def get_all_modules():
"""
get all modules from paddle
:return: module list
"""
module_str_queue = Queue()
module_str_queue.put('paddle')

MODULE_CLS = type(paddle)
module_list = []
while not module_str_queue.empty():
module_name = module_str_queue.get()
try:
module = importlib.import_module(module_name)
module_list.append(module)
for sub_module_str in dir(module):
if sub_module_str.startswith('_'):
continue
full_sub_module_path = '.'.join([module_name, sub_module_str])
sub_module = eval(full_sub_module_path)
if isinstance(sub_module, MODULE_CLS):
module_str_queue.put(full_sub_module_path)
except Exception as e:
continue

return module_list


def get_public_modules():
"""
get public modules from paddle
:return: module list
"""
public_module_list = []
all_modules = get_all_modules()
for module in all_modules:
if check_module_in_black_list(module.__name__):
logger.info('module %s in black module list', module.__name__)
continue
if hasattr(module, '__all__'):
api_in_module = module.__all__
if len(api_in_module) == 0:
logger.info('API in module %s is empty', module.__name__)
continue
public_module_list.append(module)
return public_module_list


def get_api_from_module(module):
"""
get api list from module
:param module: module object
:return: api list
"""
if not hasattr(module, '__all__'):
return []
return module.__all__


def set_api_sketch():
"""
set the in_api_sktech attr. may replace the set_display_attr_of_apis.
"""
global api_info_dict
modulelist = [ #noqa
paddle,
paddle.amp,
paddle.nn,
paddle.nn.functional,
paddle.nn.initializer,
paddle.nn.utils,
paddle.nn.quant.quant_layers,
paddle.static,
paddle.static.nn,
paddle.static.sparsity,
paddle.signal,
paddle.io,
paddle.jit,
paddle.metric,
paddle.distribution,
paddle.distribution.transform,
paddle.distribution.kl,
paddle.optimizer,
paddle.optimizer.lr,
paddle.regularizer,
paddle.text,
paddle.utils,
paddle.utils.download,
paddle.utils.profiler,
paddle.utils.cpp_extension,
paddle.utils.unique_name,
paddle.utils.dlpack,
paddle.sysconfig,
paddle.vision,
paddle.vision.datasets,
paddle.vision.models,
paddle.vision.transforms,
paddle.vision.ops,
paddle.distributed,
paddle.distributed.fleet,
paddle.distributed.fleet.utils,
paddle.distributed.fleet.base.topology,
paddle.distributed.parallel,
paddle.distributed.utils,
paddle.distributed.passes,
paddle.distributed.ps.utils,
paddle.distributed.ps.utils.ps_factory,
paddle.distributed.ps.the_one_ps,
paddle.distributed.sharding,
paddle.callbacks,
paddle.hub,
paddle.autograd,
paddle.incubate,
paddle.incubate.autograd,
paddle.incubate.nn,
paddle.incubate.nn.functional,
paddle.incubate.optimizer,
paddle.incubate.optimizer.functional,
paddle.incubate.operators,
paddle.incubate.operators.resnet_unit,
paddle.inference,
paddle.onnx,
paddle.device,
paddle.device.cuda,
paddle.linalg,
paddle.fft,
paddle.version,
paddle.profiler,
]
modulelist = get_public_modules()

alldict = {}
for module in modulelist:
Expand Down
2 changes: 2 additions & 0 deletions docs/api/index_cn.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,5 @@ API 文档
| paddle.vision | 视觉领域API,包括 数据集 Cifar10 、数据处理 |
| | ColorJitter、常用基础网络结构 ResNet 等。 |
+-------------------------------+-------------------------------------------------------+
| paddle.sparse | 稀疏领域的API。 |
+-------------------------------+-------------------------------------------------------+
2 changes: 2 additions & 0 deletions docs/api/index_en.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,6 @@ In this version, PaddlePaddle has made many optimizations to the APIs. You can r
| | data processing ColorJitter, and commonly used models |
| | like resnet |
+-------------------------------+-------------------------------------------------------+
| paddle.sparse | The Sparse domain API. |
+-------------------------------+-------------------------------------------------------+

13 changes: 13 additions & 0 deletions docs/api/paddle/Overview_cn.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ paddle 目录下包含tensor、device、framework相关API以及某些高层API
- :ref:`framework相关 <about_framework>`
- :ref:`device相关 <about_device>`
- :ref:`高层API相关 <about_hapi>`
- :ref:`稀疏API相关 <about_sparse_api>`



Expand Down Expand Up @@ -386,3 +387,15 @@ device相关
" :ref:`paddle.Model <cn_api_paddle_Model>` ", "一个具备训练、测试、推理的神经网络"
" :ref:`paddle.summary <cn_api_paddle_summary>` ", "打印网络的基础结构和参数信息"
" :ref:`paddle.flops <cn_api_paddle_flops>` ", "打印网络的基础结构和参数信息"

.. _about_sparse_api:

稀疏API相关
::::::::::::::::::::

.. csv-table::
:header: "API名称", "API功能"
:widths: 10, 30

" :ref:`paddle.sparse.sparse_coo_tensor<cn_api_paddle_sparse_coo_tensor>` ", "创建一个COO(Coordinate)格式的稀疏Tensor"
" :ref:`paddle.sparse.sparse_csr_tensor<cn_api_paddle_sparse_csr_tensor>` ", "创建一个CSR(Compressed Sparse Row)格式的稀疏Tensor"
113 changes: 113 additions & 0 deletions docs/api/paddle/distribution/AbsTransform_cn.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
.. _cn_api_paddle_distribution_AbsTransform:

AbsTransform
-------------------------------

.. py:class:: paddle.distribution.AbsTransform()

取绝对值变换 :math:`y = |x|` .

``AbsTransform`` 不是双射变换,其逆变换处理逻辑如下:

* 当 :math:`y \in (0, +\infty )` , ``AbsTransform.inverse(y)`` 返回元组 ``(-y, y)`` .
* 当 :math:`y=0` , ``AbsTransform.inverse(y)`` 返回 ``(0, 0)`` .
* 当 :math:`y \in (-\infty, 0)` , 为了避免对 ``Tensor`` 数据进行判断带来性能下降,
``AbsTransform.inverse(y)`` 仍返回 ``(-y, y)`` , 注意这本质上是一个错误结果,仅仅出于
性能考虑。


代码示例
:::::::::

COPY-FROM: paddle.distribution.AbsTransform

方法
:::::::::

forward(x)
'''''''''

计算正变换 :math:`y=f(x)` 的结果。

**参数**

- **x** (Tensor) - 正变换输入参数,通常为 :ref:`cn_api_distribution_Distribution`
的随机采样结果。

**返回**

- **y** (Tensor) - 正变换的计算结果。


inverse(y)
'''''''''

计算逆变换 :math:`x = f^{-1}(y)`

**参数**

- **y** (Tensor) - 逆变换的输入参数。

**返回**

- **x** (Tensor) - 逆变换的计算结果。

forward_log_det_jacobian(x)
'''''''''

计算正变换雅可比行列式绝对值的对数。

如果变换不是一一映射,则雅可比矩阵不存在,返回 ``NotImplementedError`` .

**参数**

- **x** (Tensor) - 输入参数。

**返回**

- Tensor - 正变换雅可比行列式绝对值的对数。


inverse_log_det_jacobian(y)
'''''''''

计算逆变换雅可比行列式绝对值的对数。

与 ``forward_log_det_jacobian`` 互为负数。

**参数**

- **y** (Tensor) - 输入参数。

**返回**

- Tensor - 逆变换雅可比行列式绝对值的对数。


forward_shape(shape)
'''''''''

推断正变换输出形状。

**参数**

- **shape** (Sequence[int]) - 正变换输入的形状。

**返回**

- Sequence[int] - 正变换输出的形状。


inverse_shape(shape)
'''''''''

推断逆变换输出形状。

**参数**

- **shape** (Sequence[int]) - 逆变换输入的形状。

**返回**

- Sequence[int] - 逆变换输出的形状。

Loading