Skip to content

Commit 622f8fa

Browse files
[API compatibility] add docs for requires_grad, var, mean, multinomial, rand_like (PaddlePaddle#7422)
* add apis * fix alias, kwargs * Update docs/api/paddle/mean_cn.rst * Update docs/api/paddle/multinomial_cn.rst --------- Co-authored-by: zachary sun <[email protected]>
1 parent 7915c2b commit 622f8fa

File tree

6 files changed

+75
-9
lines changed

6 files changed

+75
-9
lines changed

docs/api/paddle/Overview_cn.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,7 @@ tensor random 相关
426426
" :ref:`paddle.randint_like <cn_api_paddle_randint_like>` ", "返回一个和 x 具有相同形状的服从均匀分布的、范围在[low, high)的随机 Tensor,数据类型为 dtype 或者和 x 相同。"
427427
" :ref:`paddle.randn <cn_api_paddle_randn>` ", "返回符合标准正态分布(均值为 0,标准差为 1 的正态随机分布)的随机 Tensor"
428428
" :ref:`paddle.randn_like <cn_api_paddle_randn_like>` ", "返回一个和 x 具有相同形状的服从标准正态分布(均值为 0,标准差为 1 的正态随机分布)的随机 Tensor,数据类型为 dtype 或者和 x 相同。"
429+
" :ref:`paddle.rand_like <cn_api_paddle_rand_like>` ", "返回一个和 x 具有相同形状的服从均匀分布的、范围在[0, 1)的随机 Tensor,数据类型为 dtype 或者和 x 相同。"
429430
" :ref:`paddle.randperm <cn_api_paddle_randperm>` ", "返回一个数值在 0 到 n-1、随机排列的 1-D Tensor"
430431
" :ref:`paddle.seed <cn_api_paddle_seed>` ", "设置全局默认 generator 的随机种子"
431432
" :ref:`paddle.uniform <cn_api_paddle_uniform>` ", "返回数值服从范围[min, max)内均匀分布的随机 Tensor"

docs/api/paddle/Tensor_cn.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,34 @@ layout
254254
**代码示例**
255255
COPY-FROM: paddle.Tensor.layout
256256

257+
requires_grad
258+
:::::::::
259+
260+
查看一个 Tensor 是否计算并传播梯度。``requires_grad`` 属性与 ``stop_gradient`` 属性含义相反:
261+
262+
- 当 ``requires_grad`` 为 ``True`` 时,该 Tensor 会计算梯度并参与梯度传播
263+
- 当 ``requires_grad`` 为 ``False`` 时,该 Tensor 不会计算梯度,并会阻止 Autograd 的梯度传播
264+
265+
用户自行创建的 Tensor,``requires_grad`` 默认为 ``False``;模型参数的 ``requires_grad`` 默认为 ``True``。
266+
267+
**代码示例**
268+
269+
.. code-block:: python
270+
271+
import paddle
272+
273+
x = paddle.to_tensor([[1, 2], [3, 4]], dtype='float32')
274+
print("x.requires_grad:", x.requires_grad)
275+
# x.requires_grad: False
276+
277+
x.stop_gradient = False
278+
print("x.requires_grad:", x.requires_grad)
279+
# x.requires_grad: True
280+
281+
linear = paddle.nn.Linear(2, 1)
282+
print("weight.requires_grad:", linear.weight.requires_grad)
283+
# weight.requires_grad: True
284+
257285
shape
258286
:::::::::
259287

docs/api/paddle/mean_cn.rst

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,27 @@
33
mean
44
-------------------------------
55

6-
.. py:function:: paddle.mean(x, axis=None, keepdim=False, name=None)
7-
8-
6+
.. py:function:: paddle.mean(x, axis=None, keepdim=False, name=None, *, dtype=None, out=None)
97
108
沿参数 ``axis`` 计算 ``x`` 的平均值。
119

10+
.. note::
11+
别名支持: 参数名 ``input`` 可替代 ``x`` 和 ``dim`` 可替代 ``axis``,如 ``input=tensor_x`` 等价于 ``x=tensor_x``, ``dim=0`` 等价于 ``axis=0``。
12+
1213
参数
1314
::::::::::
14-
- **x** (Tensor) - 输入的 Tensor,数据类型为:float32、float64。
15+
- **x** (Tensor) - 输入的 Tensor,数据类型为:bool、bfloat16、float16、float32、float64、int32、int64、complex64、complex128。
16+
``别名:input``
1517
- **axis** (int|list|tuple,可选) - 指定对 ``x`` 进行计算的轴。``axis`` 可以是 int、list(int)、tuple(int)。如果 ``axis`` 包含多个维度,则沿着 ``axis`` 中的所有轴进行计算。``axis`` 或者其中的元素值应该在范围[-D, D)内,D 是 ``x`` 的维度。如果 ``axis`` 或者其中的元素值小于 0,则等价于 :math:`axis + D`。如果 ``axis`` 是 None,则对 ``x`` 的全部元素计算平均值。默认值为 None。
18+
``别名:dim``
1619
- **keepdim** (bool,可选) - 是否在输出 Tensor 中保留减小的维度。如果 ``keepdim`` 为 True,则输出 Tensor 和 ``x`` 具有相同的维度(减少的维度除外,减少的维度的大小为 1)。否则,输出 Tensor 的形状会在 ``axis`` 上进行 squeeze 操作。默认值为 False。
1720
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
21+
- **dtype** (str,可选) - 输出 Tensor 的数据类型。如果指定了 ``dtype``,在计算之前输入 Tensor 会被转换为指定的类型。该参数为仅关键字参数,默认值为 None,此时输出的数据类型与输入 ``x`` 的数据类型一致。
22+
- **out** (Tensor,可选)- 输出的结果。该参数为仅关键字参数,默认值为 None。
1823

1924
返回
2025
::::::::::
21-
``Tensor``,沿着 ``axis`` 进行平均值计算的结果,数据类型和 ``x`` 相同。
26+
``Tensor``,沿着 ``axis`` 进行平均值计算的结果,数据类型由 ``dtype`` 参数决定,如果 ``dtype`` 为 None 则与 ``x`` 相同。
2227

2328
代码示例
2429
::::::::::

docs/api/paddle/multinomial_cn.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
multinomial
44
-------------------------------
55

6-
.. py:function:: paddle.multinomial(x, num_samples=1, replacement=False, name=None)
6+
.. py:function:: paddle.multinomial(x, num_samples=1, replacement=False, name=None, *, out=None)
77
88
99
@@ -12,13 +12,18 @@ multinomial
1212
输入 ``x`` 是用来随机采样的概率分布,``x`` 中每个元素都应该大于等于 0,且不能都为 0。
1313
参数 ``replacement`` 表示它是否是一个可放回的采样,如果 ``replacement`` 为 True,能重复对一种类别采样。
1414

15+
.. note::
16+
别名支持: 参数名 ``input`` 可替代 ``x``,如 ``input=tensor_x`` 等价于 ``x=tensor_x``。
17+
1518
参数
1619
::::::::::::
1720

1821
- **x** (Tensor) - 输入的概率值。数据类型为 ``float32`` 、``float64`` 。
22+
``别名:input``
1923
- **num_samples** (int,可选) - 采样的次数(可选,默认值为 1)。
2024
- **replacement** (bool,可选) - 是否是可放回的采样(可选,默认值为 False)。
2125
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
26+
- **out** (Tensor,可选)- 输出的结果。该参数为仅关键字参数,默认值为 None。
2227

2328
返回
2429
::::::::::::

docs/api/paddle/rand_like.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
.. _cn_api_paddle_rand_like:
2+
3+
rand_like
4+
-------------------------------
5+
6+
.. py:function:: paddle.rand_like(input, name=None, *, dtype=None, device=None, requires_grad=False)
7+
8+
返回一个与输入张量尺寸相同的张量,其元素为从区间 [0, 1) 上均匀分布中采样的随机数。
9+
10+
参数
11+
::::::::::
12+
- **input** (Tensor) – 输入的多维 Tensor,用于指定输出张量的形状。数据类型可以是 float16、bfloat16、float32、float64。
13+
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
14+
- **dtype** (str|np.dtype|paddle.dtype,可选) - 输出 Tensor 的数据类型,支持 float16、bfloat16、float32、float64。当该参数值为 None 时,输出 Tensor 的数据类型与输入 Tensor 的数据类型一致。该参数为仅关键字参数,默认值为 None。
15+
- **device** (str|paddle.Place,可选) - 指定创建 Tensor 的设备位置。如果为 None,则使用与输入 Tensor 相同的设备。该参数为仅关键字参数,默认值为 None。
16+
- **requires_grad** (bool,可选) - 是否为创建的 Tensor 计算梯度。该参数为仅关键字参数,默认值为 False。
17+
18+
返回
19+
::::::::::
20+
Tensor:与输入张量 ``input`` 形状相同的 Tensor,其元素为从区间 [0, 1) 上均匀分布中采样的随机数,数据类型为 ``dtype``。
21+
22+
代码示例
23+
:::::::::::
24+
25+
COPY-FROM: paddle.rand_like

docs/api/paddle/var_cn.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
var
44
-------------------------------
55

6-
.. py:function:: paddle.var(x, axis=None, unbiased=True, keepdim=False, name=None)
6+
.. py:function:: paddle.var(x, axis=None, unbiased=True, keepdim=False, name=None, *, correction=1, out=None)
77
88
沿给定的轴 ``axis`` 计算 ``x`` 中元素的方差。
99

@@ -13,17 +13,19 @@ var
1313
参数
1414
::::::::::
1515
- **x** (Tensor) - 输入的 Tensor,数据类型为:float16、float32、float64。
16-
- **input** - ``x`` 的别名,行为完全一致。
16+
``别名:input``
1717
- **axis** (int|list|tuple,可选) - 指定对 ``x`` 进行计算的轴。``axis`` 可以是 int、list(int)、tuple(int)。
18+
``别名:dim``
1819

1920
- 如果 ``axis`` 包含多个维度,则沿着 ``axis`` 中的所有轴进行计算。``axis`` 或者其中的元素值应该在范围[-D, D)内,D 是 ``x`` 的维度。
2021
- 如果 ``axis`` 或者其中的元素值小于 0,则等价于 :math:`axis + D` 。
2122
- 如果 ``axis`` 是 None,则对 ``x`` 的全部元素计算方差。默认值为 None。
2223

2324
- **unbiased** (bool,可选) - 是否使用无偏估计来计算方差。使用 :math:`N` 来代表在 axis 上的维度,如果 ``unbiased`` 为 True,则在计算中使用 :math:`N - 1` 作为除数。为 False 时将使用 :math:`N` 作为除数。默认值为 True。
2425
- **keepdim** (bool,可选) - 是否在输出 Tensor 中保留输入的维度。除非 keepdim 为 True,否则输出 Tensor 的维度将比输入 Tensor 小一维,默认值为 False。
25-
- **dim** - ``axis`` 的别名,行为完全一致。
2626
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
27+
- **correction** (int|float,可选) - 样本数量与样本自由度之间的差异。该参数为仅关键字参数,默认值为 1(贝塞尔校正)。
28+
- **out** (Tensor,可选)- 输出的结果。该参数为仅关键字参数,默认值为 None。
2729

2830
返回
2931
::::::::::

0 commit comments

Comments
 (0)