diff --git a/docs/api/paddle/DataParallel_cn.rst b/docs/api/paddle/DataParallel_cn.rst index 89ec76e7f37..69b760d4c24 100644 --- a/docs/api/paddle/DataParallel_cn.rst +++ b/docs/api/paddle/DataParallel_cn.rst @@ -3,7 +3,7 @@ DataParallel ------------ -.. py:class:: paddle.DataParallel(layers, strategy=None, comm_buffer_size=25, last_comm_buffer_size=1, find_unused_parameters=False) +.. py:class:: paddle.DataParallel(layers, strategy=None, comm_buffer_size=25, last_comm_buffer_size=1, find_unused_parameters=False, group=None) 通过数据并行模式执行动态图模型。 @@ -18,18 +18,19 @@ DataParallel 2. 使用 ``paddle.distributed.launch`` 方法启动,例如: -``python -m paddle.distributed.launch –selected_gpus=0,1 demo.py`` +``python -m paddle.distributed.launch --gpus=0,1 demo.py`` 其中 ``demo.py`` 脚本的代码可以是下面的示例代码。 参数 :::::::::::: - - **Layer** (Layer) - 需要通过数据并行方式执行的模型。 + - **layers** (Layer) - 需要通过数据并行方式执行的模型。 - **strategy** (ParallelStrategy,可选) - (deprecated) 数据并行的策略,包括并行执行的环境配置。默认为 None。 - **comm_buffer_size** (int,可选) - 它是通信调用(如 NCCLAllReduce)时,参数梯度聚合为一组的内存大小(MB)。默认值:25。 - - **last_comm_buffer_size** (float,可选)它限制通信调用中最后一个缓冲区的内存大小(MB)。减小最后一个通信缓冲区的大小有助于提高性能。默认值:1。默认值:1 - - **find_unused_parameters** (bool,可选) 是否在模型 forward 函数的返回值的所有 Tensor 中,遍历整个向后图。对于不包括在 loss 计算中的参数,其梯度将被预先标记为 ready 状态用于后续多卡间的规约操作。请注意,模型参数的所有正向输出必须参与 loss 的计算以及后续的梯度计算。否则,将发生严重错误。请注意,将 find_unused_parameters 设置为 True 会影响计算性能,因此,如果确定所有参数都参与了 loss 计算和自动反向图的构建,请将其设置为 False。默认值:False。 + - **last_comm_buffer_size** (float,可选)- 它限制通信调用中最后一个缓冲区的内存大小(MB)。减小最后一个通信缓冲区的大小有助于提高性能。默认值:1。 + - **find_unused_parameters** (bool,可选) - 是否在模型 forward 函数的返回值的所有 Tensor 中,遍历整个向后图。对于不包括在 loss 计算中的参数,其梯度将被预先标记为 ready 状态用于后续多卡间的规约操作。请注意,模型参数的所有正向输出必须参与 loss 的计算以及后续的梯度计算。否则,将发生严重错误。请注意,将 find_unused_parameters 设置为 True 会影响计算性能,因此,如果确定所有参数都参与了 loss 计算和自动反向图的构建,请将其设置为 False。默认值:False。 + - **group** (Group,可选) - 数据并行通信使用的进程组。默认值为 None。 返回 :::::::::::: @@ -50,15 +51,15 @@ COPY-FROM: paddle.DataParallel:dp-pylayer-example 方法 :::::::::::: no_sync() -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 用于暂停梯度同步的上下文管理器。在 no_sync()中参数梯度只会在模型上累加;直到 with 之外的第一个 forward-backward,梯度才会被同步。 **代码示例** COPY-FROM: paddle.DataParallel.no_sync -state_dict(destination=None, include_sublayers=True) -''''''''' +state_dict(destination=None, include_sublayers=True, structured_name_prefix="") +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 获取当前层及其子层的所有 parameters 和持久的 buffers。并将所有 parameters 和 buffers 存放在 dict 结构中。 @@ -66,6 +67,7 @@ state_dict(destination=None, include_sublayers=True) - **destination** (dict,可选) - 如果提供 ``destination``,则所有参数和持久的 buffers 都将存放在 ``destination`` 中。默认值:None。 - **include_sublayers** (bool,可选) - 如果设置为 True,则包括子层的参数和 buffers。默认值:True。 + - **structured_name_prefix** (str,可选) - 添加到子层结构化名称前的前缀。默认值为 ``""``。 **返回** dict,包含所有 parameters 和持久的 buffers 的 dict。 @@ -76,7 +78,7 @@ COPY-FROM: paddle.DataParallel.state_dict set_state_dict(state_dict, use_structured_name=True) -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 根据传入的 ``state_dict`` 设置 parameters 和持久的 buffers。所有 parameters 和 buffers 将由 ``state_dict`` 中的 ``Tensor`` 设置。 diff --git a/docs/api/paddle/ParamAttr_cn.rst b/docs/api/paddle/ParamAttr_cn.rst index 745daa47edb..c16f3ab4bd7 100644 --- a/docs/api/paddle/ParamAttr_cn.rst +++ b/docs/api/paddle/ParamAttr_cn.rst @@ -4,7 +4,7 @@ ParamAttr ------------------------------- -.. py:class:: paddle.ParamAttr(name=None, initializer=None, learning_rate=1.0, regularizer=None, trainable=True, do_model_average=False, need_clip=True) +.. py:class:: paddle.ParamAttr(name=None, initializer=None, learning_rate=1.0, regularizer=None, trainable=True, do_model_average=True, need_clip=True) .. note:: diff --git a/docs/api/paddle/Size__upper_cn.rst b/docs/api/paddle/Size__upper_cn.rst index b455279c3b2..612df82c3f9 100644 --- a/docs/api/paddle/Size__upper_cn.rst +++ b/docs/api/paddle/Size__upper_cn.rst @@ -3,12 +3,12 @@ Size ------------------------------- -.. py:class:: paddle.Size() +.. py:class:: paddle.Size(iterable=()) ``paddle.Tensor.size()`` 的返回类型,用于描述张量的维度大小。作为 ``tuple`` 的子类,支持所有常见的序列操作(如索引、切片、拼接等)。 **参数** ::::::::: - - ``*args``:表示维度的整数序列或多个整数参数。 + - **iterable** (iterable,可选) - 表示维度的整数序列。默认值为 ``()``。 **返回** ::::::::: diff --git a/docs/api/paddle/add__cn.rst b/docs/api/paddle/add__cn.rst index e13225efe4b..906f55e7c11 100644 --- a/docs/api/paddle/add__cn.rst +++ b/docs/api/paddle/add__cn.rst @@ -3,8 +3,8 @@ add\_ ------------------------------- -.. py:function:: paddle.add_(x) -Inplace 版本的 :ref:`cn_api_paddle_add` API,对输入 x 采用 Inplace 策略。 +.. py:function:: paddle.add_(x, y, name=None, *, alpha=1) +Inplace 版本的 :ref:`cn_api_paddle_add` API,对输入 x 采用 Inplace 策略。参数 ``x`` 和 ``y`` 分别支持别名 ``input`` 和 ``other``。 更多关于 inplace 操作的介绍请参考 `3.1.3 原位(Inplace)操作和非原位操作的区别`_ 了解详情。 diff --git a/docs/api/paddle/audio/features/LogMelSpectrogram_cn.rst b/docs/api/paddle/audio/features/LogMelSpectrogram_cn.rst index b661df3a4fc..9cf96d50d6c 100644 --- a/docs/api/paddle/audio/features/LogMelSpectrogram_cn.rst +++ b/docs/api/paddle/audio/features/LogMelSpectrogram_cn.rst @@ -3,7 +3,7 @@ LogMelSpectrogram ------------------------------- -.. py:class:: paddle.audio.features.LogMelSpectrogram(sr=22050, n_fft=2048, hop_length=512, win_length=None, window='hann', power=2.0, center=True, pad_mode='reflect', n_mels=64, f_min=50.0, f_max=None, htk=False, norm='slaney', ref_value=1.0, amin=1e-10, top_db=None, dtype='float32') +.. py:class:: paddle.audio.features.LogMelSpectrogram(sr=22050, n_fft=512, hop_length=None, win_length=None, window='hann', power=2.0, center=True, pad_mode='reflect', n_mels=64, f_min=50.0, f_max=None, htk=False, norm='slaney', ref_value=1.0, amin=1e-10, top_db=None, dtype='float32') 计算给定信号的 log-mel 谱。 @@ -12,20 +12,20 @@ LogMelSpectrogram - **sr** (int,可选) - 采样率,默认 22050。 - **n_fft** (int,可选) - 离散傅里叶变换中频率窗大小,默认 512。 - - **hop_length** (int,可选) - 帧移,默认 512。 - - **win_length** (int,可选) - 短时 FFT 的窗长,默认为 None。 + - **hop_length** (int|None,可选) - 帧移。为 None 时设为 ``win_length // 4``。默认值为 None。 + - **win_length** (int|None,可选) - 短时 FFT 的窗长。为 None 时设为 ``n_fft``。默认值为 None。 - **window** (str,可选) - 窗函数名,支持的窗函数类型'hamming','hann','gaussian','general_gaussian','exponential','triang','bohman','blackman','cosine','tukey','taylor','bartlett','kaiser','nuttall',默认 ``hann`` 。 - **power** (float,可选) - 幅度谱的指数,默认是 2.0。 - **center** (bool,可选) - 对输入信号填充,如果 True,那么 t 以 t*hop_length 为中心,如果为 False,则 t 以 t*hop_length 开始,默认是 True。 - **pad_mode** (str,可选) - 如果 center 是 True,选择填充的方式,默认值是'reflect'。 - **n_mels** (int,可选) - mel bins 的数目,默认是 64。 - **f_min** (float,可选) - 最小频率(hz),默认 50.0。 - - **f_max** (float,可选) - 最大频率(hz),默认为 None。 + - **f_max** (float|None,可选) - 最大频率(hz),默认为 None。 - **htk** (bool,可选) - 在计算 fbank 矩阵时是否用在 HTK 公式缩放,默认是 False。 - - **norm** (Union[str,float],可选) - 计算 fbank 矩阵时正则化的种类,默认是 ``slaney`` ,你也可以 norm=0.5,使用 p-norm 正则化。 + - **norm** (Union[str,float],可选) - 计算 fbank 矩阵时正则化的种类,默认是 ``slaney`` ,你也可以 norm=1.0/2.0,使用 p-norm 正则化。 - **ref_value** (float,可选) - 参照值,如果小于 1.0,信号的 db 会被提升,相反 db 会下降,默认值为 1.0。 - **amin** (float,可选) - 输入的幅值的最小值,默认是 1e-10。 - - **top_db** (float,可选) - log-mel 谱的最大值(db),默认是 None。 + - **top_db** (float|None,可选) - log-mel 谱的最大值(db),默认是 None。 - **dtype** (str|paddle.dtype|np.dtype,可选) - 输入和窗的数据类型,默认是 ``float32`` 。 diff --git a/docs/api/paddle/audio/features/MFCC_cn.rst b/docs/api/paddle/audio/features/MFCC_cn.rst index ea5d0f2430e..f212d4c1102 100644 --- a/docs/api/paddle/audio/features/MFCC_cn.rst +++ b/docs/api/paddle/audio/features/MFCC_cn.rst @@ -3,7 +3,7 @@ MFCC ------------------------------- -.. py:class:: paddle.audio.features.MFCC(sr=22050, n_mfcc=40, n_fft=2048, hop_length=512, win_length=None, window='hann', power=2.0, center=True, pad_mode='reflect', n_mels=64, f_min=50.0, f_max=None, htk=False, norm='slaney', ref_value=1.0, amin=1e-10, top_db=None, dtype='float32') +.. py:class:: paddle.audio.features.MFCC(sr=22050, n_mfcc=40, n_fft=512, hop_length=None, win_length=None, window='hann', power=2.0, center=True, pad_mode='reflect', n_mels=64, f_min=50.0, f_max=None, htk=False, norm='slaney', ref_value=1.0, amin=1e-10, top_db=None, dtype='float32') 计算给定信号的 MFCC。 @@ -13,20 +13,20 @@ MFCC - **sr** (int,可选) - 采样率,默认 22050。 - **n_mfcc** (int,可选) - mfcc 的维度,默认 40。 - **n_fft** (int,可选) - 离散傅里叶变换中频率窗大小,默认 512。 - - **hop_length** (int,可选) - 帧移,默认 512。 - - **win_length** (int,可选) - 短时 FFT 的窗长,默认为 None。 + - **hop_length** (int|None,可选) - 帧移。为 None 时设为 ``win_length // 4``。默认值为 None。 + - **win_length** (int|None,可选) - 短时 FFT 的窗长。为 None 时设为 ``n_fft``。默认值为 None。 - **window** (str,可选) - 窗函数名,支持的窗函数类型'hamming','hann','gaussian','general_gaussian','exponential','triang','bohman','blackman','cosine','tukey','taylor','bartlett','kaiser','nuttall',默认'hann'。 - **power** (float,可选) - 幅度谱的指数,默认是 2.0。 - **center** (bool,可选) - 对输入信号填充,如果 True,那么 t 以 t*hop_length 为中心,如果为 False,则 t 以 t*hop_length 开始,默认是 True。 - **pad_mode** (str,可选) - 如果 center 是 True,选择填充的方式,默认值是'reflect'。 - **n_mels** (int,可选) - mel bins 的数目,默认是 64。 - **f_min** (float,可选) - 最小频率(hz),默认 50.0。 - - **f_max** (float,可选) - 最大频率(hz),默认为 None。 + - **f_max** (float|None,可选) - 最大频率(hz),默认为 None。 - **htk** (bool,可选) - 在计算 fbank 矩阵时是否用在 HTK 公式缩放,默认是 False。 - - **norm** (Union[str, float],可选) - 计算 fbank 矩阵时正则化的种类,默认是'slaney',也可以 norm=0.5,使用 p-norm 正则化。 + - **norm** (Union[str, float],可选) - 计算 fbank 矩阵时正则化的种类,默认是'slaney',也可以 norm=1.0/2.0,使用 p-norm 正则化。 - **ref_value** (float,可选) - 参照值, 如果小于 1.0,信号的 db 会被提升, 相反 db 会下降, 默认值为 1.0。 - **amin** (float,可选) - 输入的幅值的最小值,默认是 1e-10。 - - **top_db** (float,可选) - log-mel 谱的最大值(db),默认是 None。 + - **top_db** (float|None,可选) - log-mel 谱的最大值(db),默认是 None。 - **dtype** (str|paddle.dtype|np.dtype,可选) - 输入和窗的数据类型,默认是'float32'。 返回 diff --git a/docs/api/paddle/audio/functional/compute_fbank_matrix_cn.rst b/docs/api/paddle/audio/functional/compute_fbank_matrix_cn.rst index 5650514b7eb..c27fd31ce8e 100644 --- a/docs/api/paddle/audio/functional/compute_fbank_matrix_cn.rst +++ b/docs/api/paddle/audio/functional/compute_fbank_matrix_cn.rst @@ -3,7 +3,7 @@ compute_fbank_matrix ------------------------------- -.. py:function:: paddle.audio.functional.compute_fbank_matrix(sr, n_fft, n_mels=64, f_min=0.0, f_max=None, htk=False, nrom='slaney', dtype='float32') +.. py:function:: paddle.audio.functional.compute_fbank_matrix(sr, n_fft, n_mels=64, f_min=0.0, f_max=None, htk=False, norm='slaney', dtype='float32') 计算 mel 变换矩阵。 @@ -12,7 +12,7 @@ compute_fbank_matrix - **sr** (int) - 采样率。 - **n_fft** (int) - fft bins 的数目。 - - **n_mels** (float,可选) - mels bins 的数目,默认是 64。 + - **n_mels** (int,可选) - mels bins 的数目,默认是 64。 - **f_min** (float,可选) - 最小频率(hz),默认是 0.0。 - **f_max** (Optional[float],可选) - 最大频率(hz),默认是 None。 - **htk** (bool,可选) - 是否使用 htk 缩放,默认是 False。 diff --git a/docs/api/paddle/audio/functional/hz_to_mel_cn.rst b/docs/api/paddle/audio/functional/hz_to_mel_cn.rst index 4f27f432f6b..33f96e0e4dc 100644 --- a/docs/api/paddle/audio/functional/hz_to_mel_cn.rst +++ b/docs/api/paddle/audio/functional/hz_to_mel_cn.rst @@ -3,7 +3,7 @@ hz_to_mel ------------------------------- -.. py:function:: paddle.audio.functional.hz_to_mel(feq, htk=False) +.. py:function:: paddle.audio.functional.hz_to_mel(freq, htk=False) 转换 Hz 为 Mels。 diff --git a/docs/api/paddle/audio/functional/mel_to_hz_cn.rst b/docs/api/paddle/audio/functional/mel_to_hz_cn.rst index 33ee394f73e..0f833e27714 100644 --- a/docs/api/paddle/audio/functional/mel_to_hz_cn.rst +++ b/docs/api/paddle/audio/functional/mel_to_hz_cn.rst @@ -3,7 +3,7 @@ mel_to_hz ------------------------------- -.. py:function:: paddle.audio.functional.mel_to_hz(feq, htk=False) +.. py:function:: paddle.audio.functional.mel_to_hz(mel, htk=False) 转换 Mels 为 Hz。 diff --git a/docs/api/paddle/autograd/backward_cn.rst b/docs/api/paddle/autograd/backward_cn.rst index 2d8046bfde5..6e5aabf9545 100644 --- a/docs/api/paddle/autograd/backward_cn.rst +++ b/docs/api/paddle/autograd/backward_cn.rst @@ -4,7 +4,7 @@ backward ------------------------------- -.. py:function:: paddle.autograd.backward(tensors, grad_tensors=None, retain_graph=False) +.. py:function:: paddle.autograd.backward(tensors, grad_tensors=None, retain_graph=False, create_graph=False, *, dump_backward_graph_path=None) 计算给定的 Tensors 的反向梯度。 @@ -14,6 +14,12 @@ backward - **tensors** (list[Tensor]) – 将要计算梯度的 Tensors 列表。Tensors 中不能包含有相同的 Tensor。 - **grad_tensors** (None|list[Tensor|None],可选) – ``tensors`` 的初始梯度值。如果非 None,必须和 ``tensors`` 有相同的长度,并且如果其中某一 Tensor 元素为 None,则该初始梯度值为填充 1.0 的默认值;如果是 None,所有的 ``tensors`` 的初始梯度值为填充 1.0 的默认值。默认值:None。 - **retain_graph** (bool,可选) – 如果为 False,反向计算图将被释放。如果在 backward()之后继续添加 OP,需要设置为 True,此时之前的反向计算图会保留。将其设置为 False 会更加节省内存。默认值:False。 + - **create_graph** (bool,可选) – 是否创建用于计算梯度的计算图。默认值为 False。 + +关键字参数 +:::::::::::: + + - **dump_backward_graph_path** (str,可选) – 用于保存调试文件的目录路径。指定该参数后,会在此目录中生成反向相关图(dot 格式)和调试调用栈信息。默认值为 None。 返回 diff --git a/docs/api/paddle/compat/nanmedian_cn.rst b/docs/api/paddle/compat/nanmedian_cn.rst index 60290a1703d..27189385350 100644 --- a/docs/api/paddle/compat/nanmedian_cn.rst +++ b/docs/api/paddle/compat/nanmedian_cn.rst @@ -3,7 +3,7 @@ nanmedian ------------------------------- -.. py:function:: paddle.compat.nanmedian(input, *, dim=None, keepdim=False, *, out=None) +.. py:function:: paddle.compat.nanmedian(input, dim=None, keepdim=False, *, out=None) PyTorch 兼容的 :ref:`cn_api_paddle_nanmedian` 版本,提供完全一致的函数签名与行为: - 忽略 NaN 元素计算中位数。 @@ -15,10 +15,13 @@ PyTorch 兼容的 :ref:`cn_api_paddle_nanmedian` 版本,提供完全一致的 参数 :::::::::: -- **input** (Tensor) - 输入 N 维 Tensor,支持 bfloat16、float16、float32、float64 数据类型。 +- **input** (Tensor) - 输入 N 维 Tensor,支持 bfloat16、float16、float32、float64、int32、int64 数据类型。 - **dim** (int,可选) - 指定计算中位数的维度。为 ``None`` 时计算全局中位数。默认 ``None``。 - **keepdim** (bool,可选) - 是否保留被约简的维度。默认 ``False``。 -- **out** (tuple(Tensor, Tensor)|Tensor,可选) - 关键字参数。当指定 ``dim`` 时,可传入二元组 ``(values, indices)`` 用于原位写回中位数与索引;当未指定 ``dim`` 时,可传入单个 ``Tensor`` 用于写回标量结果。默认 ``None``。 + +关键字参数 +:::::::::: +- **out** (tuple(Tensor, Tensor)|Tensor,可选) - 当指定 ``dim`` 时,可传入二元组 ``(values, indices)`` 用于原位写回中位数与索引;当未指定 ``dim`` 时,可传入单个 ``Tensor`` 用于写回标量结果。默认 ``None``。 返回 :::::::::: diff --git a/docs/api/paddle/compat/nn/Linear_cn.rst b/docs/api/paddle/compat/nn/Linear_cn.rst index dfbaae7114f..96010ef4818 100644 --- a/docs/api/paddle/compat/nn/Linear_cn.rst +++ b/docs/api/paddle/compat/nn/Linear_cn.rst @@ -3,7 +3,7 @@ Linear ------------------------------- -.. py:class:: paddle.compat.nn.Linear(in_features, out_features, bias, device=None, dtype=None) +.. py:class:: paddle.compat.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None) PyTorch 兼容的 :ref:`cn_api_paddle_nn_Linear` 版本: @@ -15,7 +15,7 @@ PyTorch 兼容的 :ref:`cn_api_paddle_nn_Linear` 版本: 其中 :math:`W` 是权重张量, :math:`b` 是偏置张量, :math:`X` 是输入张量 - - 与 PyTorch 一致的默认可视化方法: Kaiming normal 用于权重初始化,平均分布用于偏置初始化 + - 与 PyTorch 一致的默认可视化方法:权重与偏置均使用均匀分布初始化 - 支持设定 ``Linear`` 的数据类型以及运行设备 使用前请详细参考:`【仅参数名不一致】torch.nn.Linear`_ 以确定是否使用此模块。 diff --git a/docs/api/paddle/cuda/Stream_cn.rst b/docs/api/paddle/cuda/Stream_cn.rst index 4e12a32dde6..8428f2c3b81 100644 --- a/docs/api/paddle/cuda/Stream_cn.rst +++ b/docs/api/paddle/cuda/Stream_cn.rst @@ -3,15 +3,15 @@ Stream ------ -.. py:class:: paddle.cuda.Stream(device=None, priority=0, blocking=False) +.. py:class:: paddle.cuda.Stream(device=None, priority=2, stream_base=None) CUDA 流类,用于管理异步操作。 参数 :::::::::::: - - **device** (int|paddle.Place|str|int|None) - 设备 ID 或设备对象 - - **priority** (int, 可选) - 流的优先级,默认为 None; 可以是 1 或-1(高优先级)或 0 或 2(低优先级)。默认情况下,流具有优先级 0。 - - **blocking** (bool|None,可选) - stream 是否同步执行。默认值为 False。 + - **device** (int|paddle.Place|str|int|None,可选) - 设备 ID 或设备对象 + - **priority** (int, 可选) - 流的优先级,可以是 1 或 -1(高优先级)或 0 或 2(低优先级)。默认值为 2。 + - **stream_base** (_InitStreamBase|None,可选) - 用于初始化流的底层 StreamBase 对象。默认值为 None。 代码示例 :::::::::::: diff --git a/docs/api/paddle/device/Event_cn.rst b/docs/api/paddle/device/Event_cn.rst index 240e1408b0e..134e57b39c7 100644 --- a/docs/api/paddle/device/Event_cn.rst +++ b/docs/api/paddle/device/Event_cn.rst @@ -3,21 +3,24 @@ Event ------------------------------- -.. py:class:: paddle.device.Event(device=None, enable_timing=False, blocking=False, interprocess=False) +.. py:class:: paddle.device.Event(enable_timing=False, blocking=False, interprocess=False) event 的句柄。 参数 :::::::::::: - - **device** (paddle.CUDAPlace|paddle.CustomPlace|str) - 希望分配 event 的设备或设备类型。如果为 None,则为当前期望的 place。默认值为 None。 - **enable_timing** (bool,可选) - event 是否需要统计时间。默认值为 False。 - **blocking** (bool,可选) - wait()函数是否被阻塞。默认值为 False。 - **interprocess** (bool,可选) - event 是否能在进程间共享。默认值为 False。 返回 :::::::::::: -None +``Event`` 对象。 + +.. note:: + + ``device`` 参数已移除,Event 始终使用当前设备上下文。``paddle.device.Event`` 与 ``paddle.cuda.Event`` 等价。 代码示例 :::::::::::: diff --git a/docs/api/paddle/device/Stream_cn.rst b/docs/api/paddle/device/Stream_cn.rst index f763730ec30..6bb53b40f5d 100644 --- a/docs/api/paddle/device/Stream_cn.rst +++ b/docs/api/paddle/device/Stream_cn.rst @@ -3,16 +3,16 @@ Stream ------------------------------- -.. py:class:: paddle.device.Stream(device=None, priority=None, blocking=False) +.. py:class:: paddle.device.Stream(device=None, priority=2, stream_base=None) -custom device stream 的句柄。 +设备 stream 的句柄。``paddle.cuda.Stream()`` 与 ``paddle.device.Stream()`` 等价。 参数 :::::::::::: - **device** (paddle.CUDAPlace|paddle.CustomPlace|str) - 希望分配 stream 的设备或设备类型。如果为 None,则为当前期望的 place。默认值为 None。 - - **priority** (int|None,可选) - (int, 可选) - 流的优先级,默认为 None; 可以是 1 或-1(高优先级)或 0 或 2(低优先级)。默认情况下,流具有优先级 0。 - - **blocking** (bool|None,可选) - stream 是否同步执行。默认值为 False。 + - **priority** (int,可选) - 流的优先级,可以是 1 或 -1(高优先级)或 0 或 2(低优先级)。默认值为 2。 + - **stream_base** (_InitStreamBase|None,可选) - 用于初始化流的底层 StreamBase 对象。默认值为 None。 代码示例 @@ -67,20 +67,6 @@ wait_stream(stream) COPY-FROM: paddle.device.Stream.wait_stream -record_event(event=None) -''''''''' - -记录给定的 event。 - -**参数** - - - **event** (paddle.device.Event) - 要记录的 event,如果为 None,则新建一个 event。 - - -**代码示例** - -COPY-FROM: paddle.device.Stream.record_event - query() ''''''''' @@ -96,7 +82,7 @@ COPY-FROM: paddle.device.Stream.query synchronize() ''''''''' -等待所有的 stream 的任务完成。 +等待当前 stream 中所有 kernel 完成。 **代码示例** diff --git a/docs/api/paddle/device/XPUPlace_cn.rst b/docs/api/paddle/device/XPUPlace_cn.rst index c266dc587ed..f12088ac549 100644 --- a/docs/api/paddle/device/XPUPlace_cn.rst +++ b/docs/api/paddle/device/XPUPlace_cn.rst @@ -3,7 +3,7 @@ XPUPlace ------------------------------- -.. py:class:: paddle.device.XPUPlace +.. py:class:: paddle.device.XPUPlace(dev_id) @@ -16,7 +16,7 @@ XPUPlace 参数 :::::::::::: - - **id** (int,可选) - XPU 的设备 ID。如果为 ``None``,则默认会使用 id 为 0 的设备。默认值为 ``None``。 + - **dev_id** (int) - XPU 的设备 ID。 代码示例 :::::::::::: diff --git a/docs/api/paddle/device/cuda/get_device_properties_cn.rst b/docs/api/paddle/device/cuda/get_device_properties_cn.rst index e044387783f..e0044bef633 100644 --- a/docs/api/paddle/device/cuda/get_device_properties_cn.rst +++ b/docs/api/paddle/device/cuda/get_device_properties_cn.rst @@ -3,14 +3,14 @@ get_device_properties ------------------------------- -.. py:function:: paddle.device.cuda.get_device_properties(device) +.. py:function:: paddle.device.cuda.get_device_properties(device=None) 返回给定的设备属性。 参数 :::::::: - - **device** (paddle.CUDAPlace or int or str) - 设备、设备 ID 和类似于 ``gpu:x`` 的设备名称。如果 ``device`` 为空,则 ``device`` 为当前的设备。默认值为 None。 + - **device** (paddle.CUDAPlace or int or str,可选) - 设备、设备 ID 和类似于 ``gpu:x`` 的设备名称。如果 ``device`` 为空,则 ``device`` 为当前的设备。默认值为 None。 返回 diff --git a/docs/api/paddle/device/device_count_cn.rst b/docs/api/paddle/device/device_count_cn.rst index 5b459978fc8..0ddaf033572 100644 --- a/docs/api/paddle/device/device_count_cn.rst +++ b/docs/api/paddle/device/device_count_cn.rst @@ -3,19 +3,14 @@ device_count ------------ -.. py:function:: paddle.device.device_count(device=None) +.. py:function:: paddle.device.device_count() -返回指定设备类型的可用设备数量。 - -参数 -:::::::::::: - - - **device** (paddle.CUDAPlace|paddle.CustomPlace|paddle.XPUPlace|str|int,可选) - 设备、设备 ID 或形如 ``gpu:x``、``xpu:x`` 或自定义设备名称的设备字符串。如果为 None,则返回当前设备类型的可用设备数量。默认值为 None。 +返回当前构建环境中可用设备后端的设备数量。 返回 :::::::::::: - int,指定设备类型的可用设备数量。 + int,可用设备的数量。 代码示例 :::::::::::: diff --git a/docs/api/paddle/device/get_device_cn.rst b/docs/api/paddle/device/get_device_cn.rst index cb2d3f9ff93..3d71979fe4f 100644 --- a/docs/api/paddle/device/get_device_cn.rst +++ b/docs/api/paddle/device/get_device_cn.rst @@ -3,14 +3,19 @@ get_device ------------------------------- -.. py:function:: paddle.device.get_device() +.. py:function:: paddle.device.get_device(input=None) -该功能返回当前程序运行的全局设备,返回的是一个类似于 ``cpu``、 ``gpu:x``、 ``xpu:x``、 ``mlu:x`` 或者 ``npu:x`` 字符串,如果没有设置全局设备,当 cuda 可用的时候返回 ``gpu:0``,当 cuda 不可用的时候返回 ``cpu`` 。 +该功能返回当前程序运行的全局设备。未设置全局设备时,CUDA 可用则返回 ``gpu:0``,否则返回 ``cpu``。若传入 Tensor,则返回该 Tensor 所在设备的设备 ID。 + +参数 +:::::::::::: + + - **input** (paddle.Tensor|None,可选) - 待查询设备的 Tensor。默认值为 None。 返回 :::::::::::: -返回当前程序运行的全局设备。 +当 ``input`` 为 Tensor 时,返回 int:CPU Tensor 返回 -1,GPU Tensor 返回其设备 ID。当 ``input`` 不是 Tensor 时,返回当前程序运行设备的名称字符串。 代码示例 :::::::::::: diff --git a/docs/api/paddle/device/is_compiled_with_custom_device_cn.rst b/docs/api/paddle/device/is_compiled_with_custom_device_cn.rst index 0c072154ace..7c8b3daa5a3 100644 --- a/docs/api/paddle/device/is_compiled_with_custom_device_cn.rst +++ b/docs/api/paddle/device/is_compiled_with_custom_device_cn.rst @@ -7,6 +7,11 @@ is_compiled_with_custom_device 检查 ``whl`` 包是否可以被用来在指定类型的自定义新硬件上运行模型 +参数 +:::::::::::: + + - **device_type** (str) - 待检查的自定义设备类型。 + 返回 :::::::::::: bool,支持指定 device_type 则为 True,否则为 False。 diff --git a/docs/api/paddle/device/set_stream_cn.rst b/docs/api/paddle/device/set_stream_cn.rst index a3d23048840..b050a62f308 100644 --- a/docs/api/paddle/device/set_stream_cn.rst +++ b/docs/api/paddle/device/set_stream_cn.rst @@ -3,7 +3,7 @@ set_stream ------------------------------- -.. py:function:: paddle.device.set_stream(stream=None) +.. py:function:: paddle.device.set_stream(stream) 设置当前的 stream。 diff --git a/docs/api/paddle/device/stream_guard_cn.rst b/docs/api/paddle/device/stream_guard_cn.rst index 08b8ee1c228..5cb2bad940f 100644 --- a/docs/api/paddle/device/stream_guard_cn.rst +++ b/docs/api/paddle/device/stream_guard_cn.rst @@ -3,7 +3,7 @@ stream_guard ------------------------------- -.. py:function:: paddle.device.stream_guard(stream) +.. py:function:: paddle.device.stream_guard(stream=None) 可以切换当前的 stream 为输入指定的 stream。 diff --git a/docs/api/paddle/distributed/stream/broadcast_cn.rst b/docs/api/paddle/distributed/stream/broadcast_cn.rst index bf1542a9af4..61a40b6617c 100644 --- a/docs/api/paddle/distributed/stream/broadcast_cn.rst +++ b/docs/api/paddle/distributed/stream/broadcast_cn.rst @@ -4,7 +4,7 @@ broadcast ------------------------------- -.. py:function:: paddle.distributed.stream.broadcast(tensor, src=0, group=None, sync_op=True, use_calc_stream=False) +.. py:function:: paddle.distributed.stream.broadcast(tensor, src, group=None, sync_op=True, use_calc_stream=False) 将一个 tensor 发送到每个进程。 @@ -15,8 +15,8 @@ broadcast 参数 ::::::::: - - **tensor** (Tensor) - 在目标进程上为待广播的 tensor,在其他进程上为用于接收广播结果的 tensor。支持的数据类型包括:float16、float32、float64、int32、int64、int8、uint8、bool、bfloat16。 - - **src** (int,可选) - 目标进程的 rank,该进程传入的 tensor 将被发送到其他进程上。 + - **tensor** (Tensor) - 在源进程上为待广播的 tensor,在其他进程上为用于接收广播结果的 tensor。支持的数据类型包括:float16、float32、float64、int32、int64、int8、uint8、bool。 + - **src** (int) - 源进程的 rank,该进程传入的 tensor 将被广播到其他进程上。 - **group** (Group,可选) - 执行该操作的进程组实例(通过 ``new_group`` 创建)。默认为 None,即使用全局默认进程组。 - **sync_op** (bool,可选) - 该操作是否为同步操作。默认为 True,即同步操作。 - **use_calc_stream** (bool,可选) - 该操作是否在计算流上进行。默认为 False,即不在计算流上进行。该参数旨在提高同步操作的性能,请确保在充分了解其含义的情况下调整该参数的值。 diff --git a/docs/api/paddle/enable_compat_cn.rst b/docs/api/paddle/enable_compat_cn.rst index 8e02776a46d..1ef51579ed9 100644 --- a/docs/api/paddle/enable_compat_cn.rst +++ b/docs/api/paddle/enable_compat_cn.rst @@ -3,18 +3,19 @@ enable_compat ------------------------------- -.. py:function:: paddle.enable_compat(*, scope=None, blocked_modules=None, backend='torch', silent=False) +.. py:function:: paddle.enable_compat(*, scope=None, blocked_modules=None, backend='torch', silent=False, level=1) 通过将 ``TorchProxyMetaFinder`` 添加到 ``sys.meta_path`` 来启用 PyTorch 兼容代理。 这允许导入实际上是 PaddlePaddle 代理的 ``torch`` 模块。 -参数 +关键字参数 ::::::::: - **scope** (str|Iterable[str],可选) - 指定启用 PyTorch 兼容代理的模块或模块列表。如果为 ``None``,则全局启用 PyTorch 兼容代理。默认为 ``None``。 - **blocked_modules** (str|Iterable[str],可选) - 指定从 PyTorch 兼容代理中排除的模块或模块列表。默认为 ``None``。 - **backend** (str,可选) - 要启用兼容性的后端。目前仅支持 ``"torch"``。默认为 ``"torch"``。 - **silent** (bool,可选) - 如果为 ``True``,则抑制有关范围更改的警告。默认为 ``False``。 + - **level** (int,可选) - 兼容级别。``1``(默认值)保留原有的 ``torch -> paddle`` 代理行为;``2`` 会将与 PyTorch 对齐的 ``paddle.compat.*`` API 别名到 ``paddle.*`` 和 ``paddle.Tensor``;``3`` 会同时启用上述两者。默认值为 ``1``。 返回 ::::::::: diff --git a/docs/api/paddle/flatten__cn.rst b/docs/api/paddle/flatten__cn.rst index 594084a7a09..1b2e2ee5c9b 100644 --- a/docs/api/paddle/flatten__cn.rst +++ b/docs/api/paddle/flatten__cn.rst @@ -3,7 +3,7 @@ flatten\_ ------------------------------- -.. py:function:: paddle.flatten_(x) +.. py:function:: paddle.flatten_(x, start_axis=0, stop_axis=-1, name=None) Inplace 版本的 :ref:`cn_api_paddle_flatten` API,对输入 ``x`` 采用 Inplace 策略。 diff --git a/docs/api/paddle/geometric/send_uv_cn.rst b/docs/api/paddle/geometric/send_uv_cn.rst index 39bc01541f8..ea0c52bf47a 100644 --- a/docs/api/paddle/geometric/send_uv_cn.rst +++ b/docs/api/paddle/geometric/send_uv_cn.rst @@ -5,7 +5,7 @@ send_uv .. py:function:: paddle.geometric.send_uv(x, y, src_index, dst_index, message_op="add", name=None) -主要应用于图学习领域,目的是为了减少在消息传递过程中带来的中间变量显存或内存的损耗。其中,``x`` 作为输入的节点特征 Tensor,首先利用 ``src_index`` 作为索引来 gather 出在 ``x`` 中相应位置的数据,接着利用 ``dst_index`` gather 出 ``y`` 中相应位置的数据,再通过 ``message_op`` 确认计算方式,最终返回。其中,``message_op`` 包括另外 add、sub、mul、div 共计四种计算方式。 +主要应用于图学习领域,目的是为了减少在消息传递过程中带来的中间变量显存或内存的损耗。其中,``x`` 作为输入的节点特征 Tensor,首先利用 ``src_index`` 作为索引来 gather 出在 ``x`` 中相应位置的数据,接着利用 ``dst_index`` gather 出 ``y`` 中相应位置的数据,再通过 ``message_op`` 确认计算方式,最终返回。其中,``message_op`` 包括 add、sub、mul、div 共计四种计算方式。 .. code-block:: text @@ -13,6 +13,10 @@ send_uv [1, 4, 5], [2, 6, 7]] + y = [[0, 1, 2], + [2, 3, 4], + [4, 5, 6]] + src_index = [0, 1, 2, 0] dst_index = [1, 2, 1, 0] @@ -21,13 +25,15 @@ send_uv Then: - Out = [[0, 2, 3], - [2, 8, 10], - [1, 4, 5]] + Out = [[2, 5, 7], + [5, 9, 11], + [4, 9, 11], + [0, 3, 5]] 参数 ::::::::: - **x** (Tensor) - 输入的节点特征 Tensor,数据类型为:float32、float64、int32、int64。另外,我们在 GPU 计算中支持 float16。 + - **y** (Tensor) - 目标节点特征 Tensor,数据类型为:float32、float64、int32、int64。另外,我们在 GPU 计算中支持 float16。 - **src_index** (Tensor) - 1-D Tensor,数据类型为:int32、int64。 - **dst_index** (Tensor) - 1-D Tensor,数据类型为:int32、int64。注意:``dst_index`` 的形状应当与 ``src_index`` 一致。 - **message_op** (str) - 不同计算方式,包括 add、sub、mul、div。默认值为 add。 diff --git a/docs/api/paddle/index_add__cn.rst b/docs/api/paddle/index_add__cn.rst index d455229347a..ee5378f0745 100644 --- a/docs/api/paddle/index_add__cn.rst +++ b/docs/api/paddle/index_add__cn.rst @@ -3,7 +3,11 @@ index_add\_ ------------------------------- -.. py:function:: paddle.index_add_(x, index, axis, value, name=None) +.. py:function:: paddle.index_add_(x, index, axis, value, alpha=1, name=None) + +.. note:: + + 本 API 还支持 PyTorch 风格签名:``paddle.index_add_(input, dim, index, source, *, alpha=1)``。 Inplace 版本的 :ref:`cn_api_paddle_index_add` API,对输入 ``x`` 采用 Inplace 策略。 diff --git a/docs/api/paddle/io/DataLoader_cn.rst b/docs/api/paddle/io/DataLoader_cn.rst index 52d26372f73..d8d726290cd 100644 --- a/docs/api/paddle/io/DataLoader_cn.rst +++ b/docs/api/paddle/io/DataLoader_cn.rst @@ -3,7 +3,7 @@ DataLoader ------------------------------- -.. py:class:: paddle.io.DataLoader(dataset, feed_list=None, places=None, return_list=False, batch_sampler=None, batch_size=1, shuffle=False, drop_last=False, collate_fn=None, num_workers=0, use_buffer_reader=True, use_shared_memory=True, prefetch_factor=2, timeout=0, worker_init_fn=None) +.. py:class:: paddle.io.DataLoader(dataset, feed_list=None, places=None, return_list=True, batch_sampler=None, batch_size=1, shuffle=False, drop_last=False, collate_fn=None, num_workers=0, use_buffer_reader=True, reader_buffer_size=2, prefetch_factor=2, use_shared_memory=True, timeout=0, worker_init_fn=None, persistent_workers=False) DataLoader 返回一个迭代器,该迭代器根据 ``batch_sampler`` 给定的顺序迭代一次给定的 ``dataset`` @@ -30,7 +30,7 @@ DataLoader 当前支持 ``map-style`` 和 ``iterable-style`` 的数据集,``ma - **dataset** (Dataset) - DataLoader 从此参数给定数据集中加载数据,此参数必须是 ``paddle.io.Dataset`` 或 ``paddle.io.IterableDataset`` 的一个子类实例。 - **feed_list** (list(Tensor)|tuple(Tensor),可选) - feed 变量列表,由 ``paddle.static.data()`` 创建。当 ``return_list`` 为 False 时,此参数必须设置。默认值为 None。 - - **places** (list(Place)|tuple(Place),可选) - 数据需要放置到的 Place 列表。在静态图和动态图模式中,此参数均必须设置。在动态图模式中,此参数列表长度必须是 1。默认值为 None。 + - **places** (list(Place)|tuple(Place)|list(str)|None,可选) - 数据需要放置到的 Place 列表。该参数可以为 None;为 None 时,使用默认 Place(CPUPlace 或 CUDAPlace(0))。如果为字符串列表,字符串可以是 ``"cpu"``、``"gpu:x"`` 或 ``"gpu_pinned"``,其中 ``x`` 为 GPU 索引。默认值为 None。 - **return_list** (bool,可选) - 每个设备上的数据是否以 list 形式返回。若 return_list = False,每个设备上的返回数据均是 str -> Tensor 的映射表,其中映射表的 key 是每个输入变量的名称。若 return_list = True,则每个设备上的返回数据均是 list(Tensor)。在动态图模式下,此参数必须为 True。默认值为 True。 - **batch_sampler** (BatchSampler,可选) - ``paddle.io.BatchSampler`` 或其子类的实例,DataLoader 通过 ``batch_sampler`` 产生的 mini-batch 索引列表来 ``dataset`` 中索引样本并组成 mini-batch。默认值为 None。 - **batch_size** (int|None,可选) - 每 mini-batch 中样本个数,为 ``batch_sampler`` 的替代参数,若 ``batch_sampler`` 未设置,会根据 ``batch_size`` ``shuffle`` ``drop_last`` 创建一个 ``paddle.io.BatchSampler``。默认值为 1。 @@ -39,10 +39,12 @@ DataLoader 当前支持 ``map-style`` 和 ``iterable-style`` 的数据集,``ma - **collate_fn** (callable,可选) - 通过此参数指定如何将样本列表组合为 mini-batch 数据,当 ``collate_fn`` 为 None 时,默认为将样本个字段在第 0 维上堆叠(同 ``np.stack(..., axis=0)`` )为 mini-batch 的数据。默认值为 None。 - **num_workers** (int,可选) - 用于加载数据的子进程个数,若为 0 即为不开启子进程,在主进程中进行数据加载。默认值为 0。 - **use_buffer_reader** (bool,可选) - 是否使用缓存读取器。若 ``use_buffer_reader`` 为 True,DataLoader 会异步地预读取一定数量(默认读取下一个)的 mini-batch 的数据,可加速数据读取过程,但同时会占用少量的 CPU/GPU 存储,即一个 batch 输入数据的存储空间。默认值为 True。 + - **reader_buffer_size** (int,可选) - 仅当 ``use_buffer_reader`` 为 True 时生效,指定缓存读取器预读取的 batch 数。增大该值会线性增加 CPU 或 GPU 内存占用。默认值为 2。 - **prefetch_factor** (int,可选) - 缓存的 mini-batch 的个数。若 ``use_buffer_reader`` 为 True,DataLoader 会异步地预读取 ``prefetch_factor`` 个 mini-batch。默认值为 2。 - **use_shared_memory** (bool,可选) - 是否使用共享内存来提升子进程将数据放入进程间队列的速度,该参数仅在多进程模式下有效(即 ``num_workers > 0`` ),请确认机器上有足够的共享内存空间(如 Linux 系统下 ``/dev/shm/`` 目录空间大小)再设置此参数。默认为 True。 - **timeout** (int,可选) - 从子进程输出队列获取 mini-batch 数据的超时时间。默认值为 0。 - **worker_init_fn** (callable,可选) - 子进程初始化函数,此函数会被子进程初始化时被调用,并传递 ``worker id`` 作为参数。默认值为 None。 + - **persistent_workers** (bool,可选) - 是否保留 DataLoader 中的 worker。默认值为 False。 返回 :::::::::::: diff --git a/docs/api/paddle/io/DistributedBatchSampler_cn.rst b/docs/api/paddle/io/DistributedBatchSampler_cn.rst index 799e65fb4c4..d2ad9dc7d39 100644 --- a/docs/api/paddle/io/DistributedBatchSampler_cn.rst +++ b/docs/api/paddle/io/DistributedBatchSampler_cn.rst @@ -3,7 +3,7 @@ DistributedBatchSampler ------------------------------- -.. py:class:: paddle.io.DistributedBatchSampler(dataset, batch_size, num_replicas=None, rank=None, shuffle=False, drop_last=False) +.. py:class:: paddle.io.DistributedBatchSampler(dataset, batch_size, num_replicas=None, rank=None, shuffle=False, drop_last=False, seed=0) 分布式批采样器加载数据的一个子集。每个进程可以传递给 DataLoader 一个 DistributedBatchSampler 的实例,每个进程加载原始数据的一个子集。 @@ -20,6 +20,7 @@ DistributedBatchSampler - **rank** (int,可选) - num_replicas 个进程中的进程序号。如果是 None,会依据 :ref:`cn_api_paddle_distributed_ParallelEnv` 获取值。默认是 None。 - **shuffle** (bool,可选) - 是否需要在生成样本下标时打乱顺序。默认值为 False。 - **drop_last** (bool,可选) - 是否需要丢弃最后无法凑整一个 mini-batch 的样本。默认值为 False。 + - **seed** (int,可选) - 当 ``shuffle=True`` 时用于打乱样本下标的随机种子。该值应在分布式组的所有进程中相同。默认值为 0。 返回 diff --git a/docs/api/paddle/io/SequenceSampler_cn.rst b/docs/api/paddle/io/SequenceSampler_cn.rst index 6b7d131081d..570c3560f77 100644 --- a/docs/api/paddle/io/SequenceSampler_cn.rst +++ b/docs/api/paddle/io/SequenceSampler_cn.rst @@ -3,14 +3,14 @@ SequenceSampler ------------------------------- -.. py:class:: paddle.io.SequenceSampler(data_source=None) +.. py:class:: paddle.io.SequenceSampler(data_source) 顺序迭代 ``data_source`` 返回样本下标,即一次返回 ``0, 1, 2, ..., len(data_source) - 1`` 参数 :::::::::::: - - **data_source** (Dataset) - 此参数必须是 ``paddle.io.Dataset`` 或 ``paddle.io.IterableDataset`` 的一个子类实例或实现了 ``__len__`` 的 Python 对象,用于生成样本下标。默认值为 None。 + - **data_source** (Dataset) - 此参数必须是 ``paddle.io.Dataset`` 或 ``paddle.io.IterableDataset`` 的一个子类实例或实现了 ``__len__`` 的 Python 对象,用于生成样本下标。 返回 :::::::::::: diff --git a/docs/api/paddle/io/Subset_cn.rst b/docs/api/paddle/io/Subset_cn.rst index e6c6615ce9c..a2b184126ce 100644 --- a/docs/api/paddle/io/Subset_cn.rst +++ b/docs/api/paddle/io/Subset_cn.rst @@ -11,7 +11,7 @@ Subset 参数 ::::::::: - - **datasets** (Dataset) - 原数据集。 + - **dataset** (Dataset) - 原数据集的子数据集 - **indices** (sequence) - 用于提取子集的原数据集合指标数组。 返回 diff --git a/docs/api/paddle/jit/load_cn.rst b/docs/api/paddle/jit/load_cn.rst index 088d161f647..fe5bee67d48 100644 --- a/docs/api/paddle/jit/load_cn.rst +++ b/docs/api/paddle/jit/load_cn.rst @@ -18,7 +18,7 @@ load 参数 ::::::::: - **path** (str) - 载入模型的路径前缀。格式为 ``dirname/file_prefix`` 或者 ``file_prefix`` 。 - - **config** (dict,可选) - 其他用于兼容的载入配置选项。这些选项将来可能被移除,如果不是必须使用,不推荐使用这些配置选项。默认为 ``None``。目前支持以下配置选项: + - **configs** (dict,可选) - 其他用于兼容的载入配置选项。这些选项将来可能被移除,如果不是必须使用,不推荐使用这些配置选项。默认为 ``None``。目前支持以下配置选项: (1) model_filename (str) - paddle 1.x 版本 ``save_inference_model`` 接口存储格式的预测模型文件名,原默认文件名为 ``__model__`` ; (2) params_filename (str) - paddle 1.x 版本 ``save_inference_model`` 接口存储格式的参数文件名,没有默认文件名,默认将各个参数分散存储为单独的文件。 diff --git a/docs/api/paddle/metric/Auc_cn.rst b/docs/api/paddle/metric/Auc_cn.rst index 6d66f7a7d9d..6500a55e764 100644 --- a/docs/api/paddle/metric/Auc_cn.rst +++ b/docs/api/paddle/metric/Auc_cn.rst @@ -3,7 +3,7 @@ Auc ------------------------------- -.. py:class:: paddle.metric.Auc() +.. py:class:: paddle.metric.Auc(curve='ROC', num_thresholds=4095, name='auc') .. note:: 目前只用 Python 实现 Auc,可能速度略慢。 @@ -38,8 +38,8 @@ COPY-FROM: paddle.metric.Auc:code-model-api-example 方法 :::::::::::: -update(pred, label, *args) -''''''''' +update(preds, labels) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 更新 AUC 计算的状态。 @@ -54,7 +54,7 @@ update(pred, label, *args) reset() -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 清空状态和计算结果。 @@ -64,7 +64,7 @@ reset() accumulate() -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 累积的统计指标,计算和返回 AUC 值。 @@ -74,7 +74,7 @@ AUC 值,一个标量。 name() -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 返回 Metric 实例的名字,参考上述的 name,默认是'auc'。 diff --git a/docs/api/paddle/metric/Precision_cn.rst b/docs/api/paddle/metric/Precision_cn.rst index c970bb7e33b..519f5f17e07 100644 --- a/docs/api/paddle/metric/Precision_cn.rst +++ b/docs/api/paddle/metric/Precision_cn.rst @@ -3,7 +3,7 @@ Precision ------------------------------- -.. py:class:: paddle.metric.Precision() +.. py:class:: paddle.metric.Precision(name='precision') 精确率 Precision(也称为 positive predictive value,正预测值)是被预测为正样例中实际为正的比例。该类管理二分类任务的 precision 分数。 diff --git a/docs/api/paddle/metric/Recall_cn.rst b/docs/api/paddle/metric/Recall_cn.rst index 2a4deb157e9..8082fcf6e60 100644 --- a/docs/api/paddle/metric/Recall_cn.rst +++ b/docs/api/paddle/metric/Recall_cn.rst @@ -3,7 +3,7 @@ Recall ------------------------------- -.. py:class:: paddle.metric.Recall() +.. py:class:: paddle.metric.Recall(name='recall') 召回率 Recall(也称为敏感度)是指得到的相关实例数占相关实例总数的比例。该类管理二分类任务的召回率。 diff --git a/docs/api/paddle/nn/AdaptiveLogSoftmaxWithLoss_cn.rst b/docs/api/paddle/nn/AdaptiveLogSoftmaxWithLoss_cn.rst index f6f9bf8f5bd..3fc9b53e999 100644 --- a/docs/api/paddle/nn/AdaptiveLogSoftmaxWithLoss_cn.rst +++ b/docs/api/paddle/nn/AdaptiveLogSoftmaxWithLoss_cn.rst @@ -3,7 +3,7 @@ AdaptiveLogSoftmaxWithLoss ------------------------------- -.. py:class:: paddle.nn.AdaptiveLogSoftmaxWithLoss(in_features, n_classes, cutoffs, div_value=4.0, head_bias=False, name=None) +.. py:class:: paddle.nn.AdaptiveLogSoftmaxWithLoss(in_features, n_classes, cutoffs, weight_attr=None, bias_attr=None, div_value=4.0, head_bias=False, name=None) AdaptiveLogSoftmaxWithLoss 是一种高效的策略,通常用于自然语言处理任务中的语言模型训练,尤其是在处理具有大量词汇且标签分布显著不平衡的语料库时。 AdaptiveLogSoftmaxWithLoss 将标签按照频率划分为多个组,每个组包含的目标数量不同,且在频率较低的标签所在的组中会采用较低维度的嵌入,从而显著减少计算量。 @@ -23,6 +23,8 @@ AdaptiveLogSoftmaxWithLoss 将标签按照频率划分为多个组,每个组 - **in_features** (int): 输入 Tensor 的特征数量。 - **n_classes** (int): 数据集中类型的个数。 - **cutoffs** (Sequence): 用于将 label 分配到不同存储组的截断值。 + - **weight_attr** (ParamAttr,可选): 本层可学习权重的属性。默认值为 None;当其 Initializer 未设置时,参数使用 Xavier 初始化。详细信息请参见 :ref:`cn_api_paddle_ParamAttr`。 + - **bias_attr** (ParamAttr|bool|None,可选): 本层可学习偏置的属性。设为 False 时不添加偏置;设为 None 或 ParamAttr 时,根据 ParamAttr 创建偏置参数。默认值为 None,偏置初始化为零。详细信息请参见 :ref:`cn_api_paddle_ParamAttr`。 - **div_value** (float, 可选): 用于计算组大小的指数值。默认值:4.0。 - **head_bias** (bool, 可选): 如果为 ``True``,AdaptiveLogSoftmaxWithLoss 的 ``head`` 添加偏置项。默认值: ``False``. - **name** (str, 可选): 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 diff --git a/docs/api/paddle/nn/BatchNorm_cn.rst b/docs/api/paddle/nn/BatchNorm_cn.rst index 0575779d4c5..1e230d03d49 100644 --- a/docs/api/paddle/nn/BatchNorm_cn.rst +++ b/docs/api/paddle/nn/BatchNorm_cn.rst @@ -3,7 +3,7 @@ BatchNorm ------------------------------- -.. py:class:: paddle.nn.BatchNorm(num_channels, act=None, is_test=False, momentum=0.9, epsilon=1e-05, param_attr=None, bias_attr=None, dtype='float32', data_layout='NCHW', in_place=False, moving_mean_name=None, moving_variance_name=None, do_model_average_for_mean_and_var=False, use_global_stats=False, trainable_statistics=False) +.. py:class:: paddle.nn.BatchNorm(num_channels, act=None, is_test=False, momentum=0.9, epsilon=1e-05, param_attr=None, bias_attr=None, dtype='float32', data_layout='NCHW', in_place=False, moving_mean_name=None, moving_variance_name=None, do_model_average_for_mean_and_var=True, use_global_stats=False, trainable_statistics=False) @@ -45,15 +45,15 @@ BatchNorm - **is_test** (bool,可选) - 指示是否在测试阶段,非训练阶段使用训练过程中统计到的全局均值和全局方差。默认值:False。 - **momentum** (float,可选) - 此值用于计算 ``moving_mean`` 和 ``moving_var``。默认值:0.9。更新公式如上所示。 - **epsilon** (float,可选) - 为了数值稳定加在分母上的值。默认值:1e-05。 - - **param_attr** (ParamAttr,可选) - 指定权重参数属性的对象。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - - **bias_attr** (ParamAttr,可选) - 指定偏置参数属性的对象。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 + - **param_attr** (ParamAttr|bool|None,可选) - 指定权重参数属性的对象。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 + - **bias_attr** (ParamAttr|bool|None,可选) - 指定偏置参数属性的对象。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - **dtype** (str|paddle.dtype|np.dtype,可选) - 指明输入 ``Tensor`` 的数据类型,可以为 float32 或 float64。默认值:float32。 - **data_layout** (str,可选) - 指定输入数据格式,数据格式可以为 ``"NCHW"`` 或 ``"NHWC"``,其中 N 是批大小,C 是通道数,H 是特征高度,W 是特征宽度。默认值为 ``"NCHW"``。 - **in_place** (bool,可选) - 指示 ``batch_norm`` 的输出是否可以复用输入内存。默认值:False。 - **moving_mean_name** (str,可选) - ``moving_mean`` 的名称,存储全局均值。如果将其设置为 None, ``batch_norm`` 将随机命名全局均值;否则,``batch_norm`` 将命名全局均值为 ``moving_mean_name``。默认值:None。 - **moving_variance_name** (string,可选) - ``moving_var`` 的名称,存储全局方差。如果将其设置为 None, ``batch_norm`` 将随机命名全局方差;否则,``batch_norm`` 将命名全局方差为 ``moving_variance_name``。默认值:None。 - - **do_model_average_for_mean_and_var** (bool,可选) - 指示是否为 mean 和 variance 做模型均值。默认值:False。 - - **use_global_stats** (bool,可选) – 指示是否使用全局均值和方差。在预测或测试模式下,将 ``use_global_stats`` 设置为 true 或将 ``is_test`` 设置为 true,这两种行为是等效的。在训练模式中,当设置 ``use_global_stats`` 为 True 时,在训练期间也将使用全局均值和方差。默认值:False。 + - **do_model_average_for_mean_and_var** (bool,可选) - 指示是否为 mean 和 variance 做模型均值。默认值:True。 + - **use_global_stats** (bool,可选) - 指示是否使用全局均值和方差。在预测或测试模式下,将 ``use_global_stats`` 设置为 true 或将 ``is_test`` 设置为 true,这两种行为是等效的。在训练模式中,当设置 ``use_global_stats`` 为 True 时,在训练期间也将使用全局均值和方差。默认值:False。 - **trainable_statistics** (bool,可选) - eval 模式下是否计算 mean 均值和 var 方差。eval 模式下,trainable_statistics 为 True 时,由该批数据计算均值和方差。默认值:False。 返回 diff --git a/docs/api/paddle/nn/CELU_cn.rst b/docs/api/paddle/nn/CELU_cn.rst index c54e7bcaa76..0574ddfe8f4 100644 --- a/docs/api/paddle/nn/CELU_cn.rst +++ b/docs/api/paddle/nn/CELU_cn.rst @@ -2,7 +2,7 @@ CELU ------------------------------- -.. py:class:: paddle.nn.CELU(alpha=1.0, name=None) +.. py:class:: paddle.nn.CELU(alpha=1.0, inplace=False, name=None) CELU 激活层(CELU Activation Operator) @@ -17,6 +17,7 @@ CELU 激活层(CELU Activation Operator) 参数 :::::::::: - **alpha** (float,可选) - CELU 的 alpha 值,默认值为 1.0。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 diff --git a/docs/api/paddle/nn/Conv1DTranspose_cn.rst b/docs/api/paddle/nn/Conv1DTranspose_cn.rst index 0032e682c54..42019120690 100644 --- a/docs/api/paddle/nn/Conv1DTranspose_cn.rst +++ b/docs/api/paddle/nn/Conv1DTranspose_cn.rst @@ -3,26 +3,31 @@ Conv1DTranspose ------------------------------- -.. py:class:: paddle.nn.Conv1DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format="NCL") +.. py:class:: paddle.nn.Conv1DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format="NCL", *, bias=True, padding_mode="zeros", device=None, dtype=None) +.. note:: + + 本 API 支持两种签名: + + 1. ``paddle.nn.Conv1DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format='NCL', *, bias=True, padding_mode='zeros', device=None, dtype=None)``(Paddle 风格):通过 ``weight_attr`` 和 ``bias_attr`` 指定参数。 + 2. ``paddle.nn.Conv1DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, bias=True, dilation=1, padding_mode='zeros', device=None, dtype=None)``(PyTorch 风格):参数顺序与 ``torch.nn.ConvTranspose1d`` 相同。 一维转置卷积层(Convolution1d transpose layer) -该层根据输入(input)、卷积核(kernel)和空洞大小(dilations)、步长(stride)、填充(padding)来计算输出特征大小或者通过 output_size 指定输出特征层大小。输入(Input)和输出(Output)为 NCL 或 NLC 格式,其中 N 为批尺寸,C 为通道数(channel),L 为特征长度。卷积核是 MCL 格式,M 是输出图像通道数,C 是输入图像通道数,L 是卷积核长度。如果组数大于 1,C 等于输入图像通道数除以组数的结果。转置卷积的计算过程相当于卷积的反向计算。转置卷积又被称为反卷积(但其实并不是真正的反卷积)。欲了解转置卷积层细节,请参考下面的说明和 `参考文献 `_。如果参数 bias_attr 不为 False,转置卷积计算会添加偏置项。 +该层根据输入(input)、卷积核(kernel)和空洞大小(dilations)、步长(stride)、填充(padding)来计算输出特征大小或者通过 output_size 指定输出特征层大小。输入(Input)和输出(Output)为 NCL 或 NLC 格式,其中 N 为批尺寸,C 为通道数(channel),L 为特征长度。卷积核是 MCK 格式,M 是输出图像通道数,C 是输入图像通道数,K 是卷积核长度。如果组数大于 1,C 等于输入图像通道数除以组数的结果。转置卷积的计算过程相当于卷积的反向计算。转置卷积又被称为反卷积(但其实并不是真正的反卷积)。欲了解转置卷积层细节,请参考下面的说明和 `参考文献 `_。如果参数 bias_attr 不为 False,转置卷积计算会添加偏置项。 输入 :math:`X` 和输出 :math:`Out` 函数关系如下: .. math:: - Out=\sigma (W*X+b)\\ + Out=W*X+b\\ 其中: - :math:`X`:输入,具有 NCL 或 NLC 格式的 3-D Tensor - - :math:`W`:卷积核,具有 NCL 格式的 3-D Tensor + - :math:`W`:卷积核,具有 MCK 格式的 3-D Tensor - :math:`*`:卷积计算(注意:转置卷积本质上的计算还是卷积) - :math:`b`:偏置(bias),1-D Tensor,形状为 ``[M]`` - - :math:`σ`:激活函数 - :math:`Out`:输出值,NCL 或 NLC 格式的 3-D Tensor,和 ``X`` 的形状可能不同 @@ -32,26 +37,34 @@ Conv1DTranspose - **in_channels** (int) - 输入特征的通道数。 - **out_channels** (int) - 卷积核的个数,和输出特征通道数相同。 - **kernel_size** (int|list|tuple) - 卷积核大小。可以为单个整数或包含一个整数的元组或列表,表示卷积核的长度。 - - **stride** (int|tuple,可选) - 步长大小。如果 ``stride`` 为元组或列表,则必须包含一个整型数,表示滑动步长。默认值:1。 - - **padding** (int|list|tuple|str,可选) - 填充大小。可以是以下三种格式:(1)字符串,可以是"VALID"或者"SAME",表示填充算法,计算细节可参考下述 ``padding`` = "SAME"或 ``padding`` = "VALID" 时的计算公式。(2)整数,表示在输入特征两侧各填充 ``padding`` 大小的 0。(3)包含一个整数的列表或元组,表示在输入特征两侧各填充 ``padding[0]`` 大小的 0。默认值:0。 + - **stride** (int|list|tuple,可选) - 步长大小。如果 ``stride`` 为元组或列表,则必须包含一个整型数,表示滑动步长。默认值:1。 + - **padding** (int|list|tuple|str,可选) - 填充大小。可以是以下四种形式:(1)字符串,可以是"VALID"或者"SAME",表示填充算法,计算细节可参考下述 ``padding`` = "SAME"或 ``padding`` = "VALID" 时的计算公式;(2)整数,表示在输入特征两侧各填充 ``padding`` 大小的 0;(3)包含一个整数的列表或元组 ``[pad]``,表示在输入特征两侧各填充 ``pad`` 大小的 0;(4)包含两个整数的列表或元组 ``[pad_left, pad_right]``,分别表示输入特征左、右两侧的填充大小。默认值:0。 - **output_padding** (int|list|tuple,可选) - 输出特征尾部一侧额外添加的大小。默认值:0。 - **groups** (int,可选) - 一维卷积层的组数。根据 Alex Krizhevsky 的深度卷积神经网络(CNN)论文中的分组卷积:当 group=2,卷积核的前一半仅和输入特征图的前一半连接。卷积核的后一半仅和输入特征图的后一半连接。默认值:1。 - - **dilation** (int|tuple,可选) - 空洞大小。可以为单个整数或包含一个整数的元组或列表,表示卷积核中的空洞。默认值:1。 + - **dilation** (int|list|tuple,可选) - 空洞大小。可以为单个整数或包含一个整数的元组或列表,表示卷积核中的空洞。默认值:1。 - **weight_attr** (ParamAttr,可选) - 指定权重参数属性的对象。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - **bias_attr** (ParamAttr|bool,可选) - 指定偏置参数属性的对象。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致,可以是"NCL"和"NLC"。N 是批尺寸,C 是通道数,L 特征长度。默认值:"NCL"。 +关键字参数 +:::::::::::: + + - **bias** (bool,可选) - 是否添加可学习的偏置。当为 False 时,``bias_attr`` 会被强制设为 False。默认值为 True。 + - **padding_mode** (str,可选) - 填充模式,可为 ``"zeros"``、``"reflect"``、``"replicate"`` 或 ``"circular"``。默认值为 ``"zeros"``。 + - **device** (str|paddle.CPUPlace|paddle.CUDAPlace|paddle.CUDAPinnedPlace|None,可选) - 创建层参数的设备。默认值为 None。 + - **dtype** (str|paddle.dtype|None,可选) - 层参数的数据类型。默认值为 None。 + 形状 :::::::::::: - - 输入::math:`(N,C_{in}, L_{in})` + - 输入:当 ``data_format`` 为 ``"NCL"`` 时,形状为 :math:`(N,C_{in},L_{in})`;当 ``data_format`` 为 ``"NLC"`` 时,形状为 :math:`(N,L_{in},C_{in})`。 - 卷积核::math:`(C_{in},C_{out}, K)` - 偏置::math:`(C_{out})` - - 输出::math:`(N,C_{out}, L_{out})` + - 输出:当 ``data_format`` 为 ``"NCL"`` 时,形状为 :math:`(N,C_{out},L_{out})`;当 ``data_format`` 为 ``"NLC"`` 时,形状为 :math:`(N,L_{out},C_{out})`。 其中 diff --git a/docs/api/paddle/nn/Conv1D_cn.rst b/docs/api/paddle/nn/Conv1D_cn.rst index 25186313b9f..19677244e18 100644 --- a/docs/api/paddle/nn/Conv1D_cn.rst +++ b/docs/api/paddle/nn/Conv1D_cn.rst @@ -9,21 +9,20 @@ Conv1D **一维卷积层** -根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)一组参数计算输出特征层大小。输入和输出是 NCL 或 NLC 格式,其中 N 是批尺寸,C 是通道数,L 是特征长度。卷积核是 MCL 格式,M 是输出特征通道数,C 是输入特征通道数,L 是卷积核长度度。如果组数(groups)大于 1,C 等于输入图像通道数除以组数的结果。详情请参考 UFLDL's : `卷积 `_ 。如果 bias_attr 不为 False,卷积计算会添加偏置项。 +根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)一组参数计算输出特征层大小。输入和输出是 NCL 或 NLC 格式,其中 N 是批尺寸,C 是通道数,L 是特征长度。卷积核是 MCK 格式,M 是输出特征通道数,C 是输入特征通道数,K 是卷积核长度。如果组数(groups)大于 1,C 等于输入图像通道数除以组数的结果。详情请参考 UFLDL's : `卷积 `_ 。如果 bias_attr 不为 False,卷积计算会添加偏置项。 对每个输入 X,有等式: .. math:: - Out = \sigma \left ( W * X + b \right ) + Out = W * X + b 其中: - :math:`X`:输入值,NCL 或 NLC 格式的 3-D Tensor - - :math:`W`:卷积核值,MCL 格式的 3-D Tensor + - :math:`W`:卷积核值,MCK 格式的 3-D Tensor - :math:`*`:卷积操作 - :math:`b`:偏置值,1-D Tensor,形状为 ``[M]`` - - :math:`\sigma`:激活函数 - :math:`Out`:输出值,NCL 或 NLC 格式的 3-D Tensor,和 ``X`` 的形状可能不同 @@ -41,8 +40,9 @@ Conv1D 关键字参数 :::::::::::: - - **bias** (bool,可选) - 是否要学习和添加这一层的偏置。如果设置为 False,则不会创建任何偏差,并且 :attr:'bias_attr' 将被忽略。默认值:True。 + - **bias** (bool,可选) - 是否要学习和添加这一层的偏置。如果设置为 False,则不会创建任何偏差,并且 :attr:``bias_attr`` 将被忽略。默认值:True。 - **padding_mode** (str,可选) - 填充模式。包括 ``'zeros'``, ``'reflect'``, ``'replicate'`` 或者 ``'circular'``。默认值:``'zeros'`` 。 + - **device** (PlaceLike,可选) - 执行计算的设备。默认值为 None。 - **dtype** (str|Tensor.dtype,可选) - 指定权重、偏置的参数类型,默认值为 None。 - **weight_attr** (ParamAttr,可选) - 指定权重参数属性的对象。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - **bias_attr** (ParamAttr|bool,可选) - 指定偏置参数属性的对象。若 ``bias_attr`` 为 bool 类型,只支持为 False,表示没有偏置参数。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 diff --git a/docs/api/paddle/nn/Conv2DTranspose_cn.rst b/docs/api/paddle/nn/Conv2DTranspose_cn.rst index a3101ac22b2..dba627346a5 100644 --- a/docs/api/paddle/nn/Conv2DTranspose_cn.rst +++ b/docs/api/paddle/nn/Conv2DTranspose_cn.rst @@ -3,25 +3,30 @@ Conv2DTranspose ------------------------------- -.. py:class:: paddle.nn.Conv2DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format="NCHW") +.. py:class:: paddle.nn.Conv2DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format="NCHW", *, bias=True, padding_mode="zeros", device=None, dtype=None) +.. note:: + + 本 API 支持两种签名: + + 1. ``paddle.nn.Conv2DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format='NCHW', *, bias=True, padding_mode='zeros', device=None, dtype=None)``(Paddle 风格):通过 ``weight_attr`` 和 ``bias_attr`` 指定参数。 + 2. ``paddle.nn.Conv2DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, bias=True, dilation=1, padding_mode='zeros', device=None, dtype=None)``(PyTorch 风格):参数顺序与 ``torch.nn.ConvTranspose2d`` 相同。 二维转置卷积层(Convolution2d transpose layer) -该层根据输入(input)、卷积核(kernel)和空洞大小(dilations)、步长(stride)、填充(padding)来计算输出特征层大小或者通过 output_size 指定输出特征层大小。输入(Input)和输出(Output)为 NCHW 或 NHWC 格式,其中 N 为批尺寸(batch size),C 为通道数(channel),H 为特征层高度,W 为特征层宽度。卷积核是 MCHW 格式,M 是输出图像通道数,C 是输入图像通道数,H 是卷积核高度,W 是卷积核宽度。如果组数大于 1,C 等于输入图像通道数除以组数的结果。转置卷积的计算过程相当于卷积的反向计算。转置卷积又被称为反卷积(但其实并不是真正的反卷积)。欲了解转置卷积层细节,请参考下面的说明和 `参考文献 `_。如果参数 bias_attr 不为 False,转置卷积计算会添加偏置项。 +该层根据输入(input)、卷积核(kernel)和空洞大小(dilations)、步长(stride)、填充(padding)来计算输出特征层大小或者通过 output_size 指定输出特征层大小。输入(Input)和输出(Output)为 NCHW 或 NHWC 格式,其中 N 为批尺寸(batch size),C 为通道数(channel),H 为特征层高度,W 为特征层宽度。卷积核是 CMHW 格式,C 是输入图像通道数,M 是输出图像通道数,H 是卷积核高度,W 是卷积核宽度。如果组数大于 1,C 等于输入图像通道数除以组数的结果。转置卷积的计算过程相当于卷积的反向计算。转置卷积又被称为反卷积(但其实并不是真正的反卷积)。欲了解转置卷积层细节,请参考下面的说明和 `参考文献 `_。如果参数 bias_attr 不为 False,转置卷积计算会添加偏置项。 输入 :math:`X` 和输出 :math:`Out` 函数关系如下: .. math:: - Out=\sigma (W*X+b)\\ + Out=W*X+b\\ 其中: - :math:`X`:输入,具有 NCHW 或 NHWC 格式的 4-D Tensor - - :math:`W`:卷积核,具有 NCHW 格式的 4-D Tensor + - :math:`W`:卷积核,具有 CMHW 格式的 4-D Tensor - :math:`*`:卷积计算(注意:转置卷积本质上的计算还是卷积) - :math:`b`:偏置(bias),1-D Tensor,形状为 ``[M]`` - - :math:`σ`:激活函数 - :math:`Out`:输出值,NCHW 或 NHWC 格式的 4-D Tensor,和 ``X`` 的形状可能不同 @@ -40,7 +45,7 @@ Conv2DTranspose - **out_channels** (int) - 卷积核的个数,和输出特征图通道数相同。 - **kernel_size** (int|list|tuple) - 卷积核大小。可以为单个整数或包含两个整数的元组或列表,分别表示卷积核的高和宽。如果为单个整数,表示卷积核的高和宽都等于该整数。 - **stride** (int|list|tuple,可选) - 步长大小。如果 ``stride`` 为元组或列表,则必须包含两个整型数,分别表示垂直和水平滑动步长。否则,表示垂直和水平滑动步长均为 ``stride``。默认值:1。 - - **padding** (int|str|tuple|list,可选) - 填充大小。如果 ``padding`` 为元组或列表,则必须包含两个整型数,分别表示竖直和水平边界填充大小。否则,表示竖直和水平边界填充大小均为 ``padding``。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法,计算细节可参考下方形状 ``padding`` = "SAME"或 ``padding`` = "VALID" 时的计算公式。默认值:0。 + - **padding** (int|str|tuple|list,可选) - 填充大小。可以是以下五种形式:(1)字符串,可以是 ``"VALID"`` 或 ``"SAME"``,表示填充算法;(2)整数,表示每个空间维度的两侧均填充 ``padding`` 大小的 0;(3)长度为 2 的列表或元组 ``[pad_h, pad_w]``,分别表示高、宽维度每一侧的填充大小;(4)长度为 4 的列表或元组,依次表示各空间维度前、后两侧的填充大小;(5)由整型对组成的列表或元组,形式为 ``[[pad_before, pad_after], ...]``,其中也包含 batch 和通道维度,这两个维度的填充必须为 ``[0, 0]`` 或 ``(0, 0)``。默认值:0。 - **output_padding** (int|list|tuple,可选) - 输出形状上一侧额外添加的大小。默认值:0。 - **groups** (int,可选) - 二维卷积层的组数。根据 Alex Krizhevsky 的深度卷积神经网络(CNN)论文中的分组卷积:当 group=2,卷积核的前一半仅和输入特征图的前一半连接。卷积核的后一半仅和输入特征图的后一半连接。默认值:1。 - **dilation** (int|list|tuple,可选) - 空洞大小。可以为单个整数或包含两个整数的元组或列表,分别表示卷积核中的元素沿着高和宽的空洞。如果为单个整数,表示高和宽的空洞都等于该整数。默认值:1。 @@ -49,6 +54,14 @@ Conv2DTranspose - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致,可以是"NCHW"和"NHWC"。N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度。默认值:"NCHW"。 +关键字参数 +:::::::::::: + + - **bias** (bool,可选) - 是否添加可学习的偏置。当为 False 时,``bias_attr`` 会被强制设为 False。默认值为 True。 + - **padding_mode** (str,可选) - 填充模式,可为 ``"zeros"``、``"reflect"``、``"replicate"`` 或 ``"circular"``。默认值为 ``"zeros"``。 + - **device** (str|paddle.CPUPlace|paddle.CUDAPlace|paddle.CUDAPinnedPlace|None,可选) - 创建层参数的设备。默认值为 None。 + - **dtype** (str|paddle.dtype|None,可选) - 层参数的数据类型。默认值为 None。 + 形状 :::::::::::: diff --git a/docs/api/paddle/nn/Conv3DTranspose_cn.rst b/docs/api/paddle/nn/Conv3DTranspose_cn.rst index 5c33a963e84..7e193e263d9 100755 --- a/docs/api/paddle/nn/Conv3DTranspose_cn.rst +++ b/docs/api/paddle/nn/Conv3DTranspose_cn.rst @@ -3,8 +3,14 @@ Conv3DTranspose ------------------------------- -.. py:class:: paddle.nn.Conv3DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format="NCDHW") +.. py:class:: paddle.nn.Conv3DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format="NCDHW", *, bias=True, padding_mode="zeros", device=None, dtype=None) +.. note:: + + 本 API 支持两种签名: + + 1. ``paddle.nn.Conv3DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, dilation=1, weight_attr=None, bias_attr=None, data_format='NCDHW', *, bias=True, padding_mode='zeros', device=None, dtype=None)``(Paddle 风格):通过 ``weight_attr`` 和 ``bias_attr`` 指定参数。 + 2. ``paddle.nn.Conv3DTranspose(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, bias=True, dilation=1, padding_mode='zeros', device=None, dtype=None)``(PyTorch 风格):参数顺序与 ``torch.nn.ConvTranspose3d`` 相同。 三维转置卷积层(Convolution3d transpose layer) @@ -15,20 +21,19 @@ Conv3DTranspose 输入 :math:`X` 和输出 :math:`Out` 函数关系如下: .. math:: - \\Out=\sigma (W*X+b)\\ + \\Out=W*X+b\\ 其中: - :math:`X`:输入,具有 NCDHW 或 NDHWC 格式的 5-D Tensor - - :math:`W`:卷积核,具有 NCDHW 格式的 5-D Tensor + - :math:`W`:卷积核,具有 CMDHW 格式的 5-D Tensor - :math:`*`:卷积操作(**注意**:转置卷积本质上的计算还是卷积) - :math:`b`:偏置(bias),1-D Tensor,形状为 ``[M]`` - - :math:`σ`:激活函数 - :math:`Out`:输出值,NCDHW 或 NDHWC 格式的 5-D Tensor,和 ``X`` 的形状可能不同 .. note:: - 如果 output_size 为 None,则 :math:`H_{out}` = :math:`H^\prime_{out}` , :math:`W_{out}` = :math:`W^\prime_{out}`;否则,指定的 output_size_height(输出特征层的高) :math:`H_{out}` 应当介于 :math:`H^\prime_{out}` 和 :math:`H^\prime_{out} + strides[0]` 之间(不包含 :math:`H^\prime_{out} + strides[0]` ),并且指定的 output_size_width(输出特征层的宽) :math:`W_{out}` 应当介于 :math:`W^\prime_{out}` 和 :math:`W^\prime_{out} + strides[1]` 之间(不包含 :math:`W^\prime_{out} + strides[1]` )。 + 如果 output_size 为 None,则 :math:`D_{out}` = :math:`D^\prime_{out}`、:math:`H_{out}` = :math:`H^\prime_{out}`、:math:`W_{out}` = :math:`W^\prime_{out}`;否则,指定的 :math:`D_{out}`、:math:`H_{out}`、:math:`W_{out}` 分别应当介于 :math:`D^\prime_{out}` 和 :math:`D^\prime_{out} + strides[0]`、:math:`H^\prime_{out}` 和 :math:`H^\prime_{out} + strides[1]`、:math:`W^\prime_{out}` 和 :math:`W^\prime_{out} + strides[2]` 之间(均不包含上界)。 由于转置卷积可以当成是卷积的反向计算,而根据卷积的输入输出计算公式来说,不同大小的输入特征层可能对应着相同大小的输出特征层,所以对应到转置卷积来说,固定大小的输入特征层对应的输出特征层大小并不唯一。 @@ -40,15 +45,23 @@ Conv3DTranspose - **in_channels** (int) - 输入图像的通道数。 - **out_channels** (int) - 卷积核的个数,和输出特征图个数相同。 - **kernel_size** (int|list|tuple) - 卷积核大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积核的深度,高和宽。如果为单个整数,表示卷积核的深度,高和宽都等于该整数。output_size 和 kernel_size 不能同时为 None。 - - **stride** (int|tuple,可选) - 步长大小。如果 ``stride`` 为元组或列表,则必须包含三个整型数,分别表示深度,垂直和水平滑动步长。否则,表示深度,垂直和水平滑动步长均为 ``stride``。默认值为 1。 - - **padding** (int|tuple,可选) - 填充大小。如果 ``padding`` 为元组或列表,则必须包含三个整型数,分别表示深度,竖直和水平边界填充大小。否则,表示深度,竖直和水平边界填充大小均为 ``padding``。如果它是一个字符串,可以是 "VALID" 或者 "SAME" ,表示填充算法,计算细节可参考下方形状 ``padding`` = "SAME" 或 ``padding`` = "VALID" 时的计算公式。默认值为 0。 + - **stride** (int|list|tuple,可选) - 步长大小。如果 ``stride`` 为元组或列表,则必须包含三个整型数,分别表示深度、垂直和水平滑动步长。否则,表示深度、垂直和水平滑动步长均为 ``stride``。默认值为 1。 + - **padding** (int|str|tuple|list,可选) - 填充大小。可以是以下五种形式:(1)字符串,可以是 ``"VALID"`` 或 ``"SAME"``,表示填充算法;(2)整数,表示每个空间维度的两侧均填充 ``padding`` 大小的 0;(3)长度为 3 的列表或元组 ``[pad_d, pad_h, pad_w]``,分别表示深度、高、宽维度每一侧的填充大小;(4)长度为 6 的列表或元组,依次表示各空间维度前、后两侧的填充大小;(5)由整型对组成的列表或元组,形式为 ``[[pad_before, pad_after], ...]``,其中也包含 batch 和通道维度,这两个维度的填充必须为 ``[0, 0]`` 或 ``(0, 0)``。默认值为 0。 - **output_padding** (int|list|tuple,可选) - 输出形状上一侧额外添加的大小。默认值为 0。 - - **groups** (int,可选) - 二维卷积层的组数。根据 `Alex Krizhevsky 的 Deep CNN 论文 `_ 中的分组卷积:当 groups = 2,卷积核的前一半仅和输入特征图的前一半连接。卷积核的后一半仅和输入特征图的后一半连接。默认值为 1。 - - **dilation** (int|tuple,可选) - 空洞大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积核中的元素沿着深度,高和宽的空洞。如果为单个整数,表示深度,高和宽的空洞都等于该整数。默认值为 1。 + - **groups** (int,可选) - 三维卷积层的组数。根据 `Alex Krizhevsky 的 Deep CNN 论文 `_ 中的分组卷积:当 groups = 2,卷积核的前一半仅和输入特征图的前一半连接。卷积核的后一半仅和输入特征图的后一半连接。默认值为 1。 + - **dilation** (int|list|tuple,可选) - 空洞大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积核中的元素沿着深度、高和宽的空洞。如果为单个整数,表示深度、高和宽的空洞都等于该整数。默认值为 1。 - **weight_attr** (ParamAttr,可选) - 指定权重参数属性的对象。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - **bias_attr** (ParamAttr|bool,可选) - 指定偏置参数属性的对象。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致,可以是 "NCDHW" 和 "NDHWC"。N 是批尺寸,C 是通道数,D 为特征深度,H 是特征高度,W 是特征宽度。默认值为 "NCDHW"。 +关键字参数 +:::::::::::: + + - **bias** (bool,可选) - 是否添加可学习的偏置。当为 False 时,``bias_attr`` 会被强制设为 False。默认值为 True。 + - **padding_mode** (str,可选) - 填充模式,可为 ``"zeros"``、``"reflect"``、``"replicate"`` 或 ``"circular"``。默认值为 ``"zeros"``。 + - **device** (str|paddle.CPUPlace|paddle.CUDAPlace|paddle.CUDAPinnedPlace|None,可选) - 创建层参数的设备。默认值为 None。 + - **dtype** (str|paddle.dtype|None,可选) - 层参数的数据类型。默认值为 None。 + 形状 :::::::::::: diff --git a/docs/api/paddle/nn/CrossEntropyLoss_cn.rst b/docs/api/paddle/nn/CrossEntropyLoss_cn.rst index fc9226d1ee4..c283662ac2b 100644 --- a/docs/api/paddle/nn/CrossEntropyLoss_cn.rst +++ b/docs/api/paddle/nn/CrossEntropyLoss_cn.rst @@ -3,9 +3,9 @@ CrossEntropyLoss ------------------------------- -.. py:class:: paddle.nn.CrossEntropyLoss(weight=None, ignore_index=-100, reduction='mean', soft_label=False, label_smoothing=0.0, axis=-1, use_softmax=True, name=None) +.. py:class:: paddle.nn.CrossEntropyLoss(weight=None, ignore_index=-100, reduction='mean', soft_label=False, axis=-1, use_softmax=True, label_smoothing=0.0, name=None) -默认情况下, CrossEntropyLoss 使用 softmax 实现(即 use_softmax=True )。该函数结合了 softmax 操作的计算和交叉熵损失函数,以提供更稳定的数值计算。 +默认情况下, CrossEntropyLoss 使用 softmax 实现(即 use_softmax=True )。该函数结合了 softmax 操作的计算和交叉熵损失函数,以提供更稳定的数值计算。 当 use_softmax=False 时,仅计算交叉熵损失函数而不使用 softmax。 @@ -31,7 +31,7 @@ CrossEntropyLoss .. math:: \\loss_j=-\log\left({P}_{label_j}\right) , j = 1,...,N - 其中,N 是样本数,C 是类别数,P 是输入(softmax 的输出)。 + 其中,N 是样本数,C 是类别数,P 是输入(softmax 的输出)。 2. Soft label (每个样本为多个类别分配一定的概率,概率和为 1). @@ -48,7 +48,7 @@ CrossEntropyLoss .. math:: \\loss_j=-\sum_{j=0}^{C}\left({label}_j*\log\left({P}_{label_j}\right)\right) , j = 1,...,N - 其中,N 是样本数,C 是类别数,P 是输入(softmax 的输出)。 + 其中,N 是样本数,C 是类别数,P 是输入(softmax 的输出)。 @@ -111,18 +111,18 @@ CrossEntropyLoss 参数 ::::::::: - - **weight** (Tensor,可选) - 指定每个类别的权重。其默认为 ``None``。如果提供该参数的话,维度必须为 ``C`` (类别数)。数据类型为 float32 或 float64。 - - **ignore_index** (int64,可选) - 指定一个忽略的标签值,此标签值不参与计算,负值表示无需忽略任何标签值。仅在 soft_label=False 时有效。默认值为-100。数据类型为 int64。 + - **weight** (Tensor,可选) - 指定每个类别的权重。其默认为 ``None``。如果提供该参数的话,维度必须为 ``C`` (类别数)。数据类型为 float32 或 float64。 + - **ignore_index** (int,可选) - 指定一个忽略的标签值,此标签值不参与计算,负值表示无需忽略任何标签值。仅在 soft_label=False 时有效。默认值为-100。 - **reduction** (str,可选) - 指定应用于输出结果的计算方式,数据类型为 string,可选值有:``none``, ``mean``, ``sum``。默认为 ``mean``,计算 ``mini-batch`` loss 均值。设置为 ``sum`` 时,计算 ``mini-batch`` loss 的总和。设置为 ``none`` 时,则返回 loss Tensor。 - - **soft_label** (bool,可选) – 指明 label 是否为软标签。默认为 False,表示 label 为硬标签;若 soft_label=True 则表示软标签。 - - **label_smoothing** (float,可选)- 指定计算损失时的标签平滑度,它应该在 :math:`[0.0,1.0]` 范围内。其中 0.0 表示无平滑。使得平滑后的标签变成原始真实标签和均匀分布的混合,默认值: 0.0。 - - **axis** (int,可选) - 进行 softmax 计算的维度索引。它应该在 :math:`[-1,dim-1]` 范围内,而 ``dim`` 是输入 logits 的维度。默认值:-1。 + - **soft_label** (bool,可选) - 指明 label 是否为软标签。默认为 False,表示 label 为硬标签;若 soft_label=True 则表示软标签。 + - **axis** (int,可选) - 进行 softmax 计算的维度索引。它应该在 :math:`[-1, dim-1]` 范围内,而 ``dim`` 是输入 logits 的维度。默认值:-1。 - **use_softmax** (bool,可选) - 指定是否对 input 进行 softmax 归一化。默认值:True。 + - **label_smoothing** (float,可选)- 指定计算损失时的标签平滑度,它应该在 :math:`[0.0, 1.0]` 范围内。其中 0.0 表示无平滑。使得平滑后的标签变成原始真实标签和均匀分布的混合,默认值: 0.0。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 ::::::::: - **input** (Tensor): 输入 ``Tensor``,数据类型为 float32 或 float64。其形状为 :math:`[N, C]`,其中 ``C`` 为类别数。对于多维度的情形下,它的形状为 :math:`[N, d_1, d_2, ..., d_k, C]` ,k >= 1。 - - **label** (Tensor): 当 soft_label=False 时,输入 input 对应的标签值,数据类型为 int64。其形状为 :math:`[N]`,每个元素符合条件:0 <= label[i] <= C-1。对于多维度的情形下,它的形状为 :math:`[N, d_1, d_2, ..., d_k]` ,k >= 1;当 soft_label=True 且没有指定 label_smoothing 时,要求 label 的维度、数据类型与 input 相同,每个样本的各标签概率和应为 1;当指定了 label_smoothing (label_smoothing > 0.0) 时, 无论 soft_label 是什么值, label 的维度和数据类型可以是前面两种情况中的任意一种。换句话说,如果 label_smoothing > 0.0, label 可以是独热标签或整数标签。 + - **label** (Tensor): 当 soft_label=False 时,输入 input 对应的标签值,数据类型为 int32、int64、float32 或 float64。其形状为 :math:`[N]`,每个元素符合条件:0 <= label[i] <= C-1。对于多维度的情形下,它的形状为 :math:`[N, d_1, d_2, ..., d_k]` ,k >= 1;当 soft_label=True 且没有指定 label_smoothing 时,要求 label 的维度、数据类型与 input 相同,每个样本的各标签概率和应为 1;当指定了 label_smoothing (label_smoothing > 0.0) 时, 无论 soft_label 是什么值, label 的维度和数据类型可以是前面两种情况中的任意一种。换句话说,如果 label_smoothing > 0.0, label 可以是独热标签或整数标签。 - **output** (Tensor): 计算 ``CrossEntropyLoss`` 交叉熵后的损失值。 diff --git a/docs/api/paddle/nn/Dropout_cn.rst b/docs/api/paddle/nn/Dropout_cn.rst index 824c3f7359f..5e8707db45f 100644 --- a/docs/api/paddle/nn/Dropout_cn.rst +++ b/docs/api/paddle/nn/Dropout_cn.rst @@ -3,7 +3,7 @@ Dropout ------------------------------- -.. py:class:: paddle.nn.Dropout(p=0.5, axis=None, mode="upscale_in_train", name=None) +.. py:class:: paddle.nn.Dropout(p=0.5, inplace=False, axis=None, mode="upscale_in_train", name=None) Dropout 是一种正则化手段,根据给定的丢弃概率 ``p``,在训练过程中随机将一些神经元输出设置为 0,通过阻止神经元节点间的相关性来减少过拟合。论文请参考:`Improving neural networks by preventing co-adaptation of feature detectors `_ @@ -14,7 +14,8 @@ Dropout 是一种正则化手段,根据给定的丢弃概率 ``p``,在训练 参数 ::::::::: - - **p** (float,可选) - 将输入节点置为 0 的概率,即丢弃概率。默认值为 0.5。 + - **p** (float|int,可选) - 将输入节点置为 0 的概率,即丢弃概率。默认值为 0.5。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **axis** (int|list|tuple,可选) - 指定对输入 ``Tensor`` 进行 Dropout 操作的轴。默认值为 None。 - **mode** (str,可选) - 丢弃单元的方式,有 'upscale_in_train' 和 'downscale_in_infer' 两种可供选择,默认值为 'upscale_in_train'。计算方法如下: diff --git a/docs/api/paddle/nn/Fold_cn.rst b/docs/api/paddle/nn/Fold_cn.rst index 7aa0ee95bbd..beda4cacbe8 100644 --- a/docs/api/paddle/nn/Fold_cn.rst +++ b/docs/api/paddle/nn/Fold_cn.rst @@ -22,17 +22,17 @@ Fold 参数 ::::::::: - - **output_sizes** (int|list|tuple) – 输出尺寸,整数或者整型列表。如为列表类型应包含两个元素 ``[output_size_h, output_size_w]``。如果为整数 o,则输出形状会被认为 ``[o, o]``。 - - **kernel_size** (int|list|tuple) - 卷积核大小,整数或者整型列表。如为列表类型应包含两个元素 ``[k_h, k_w]``。如果为整数 k,则输出形状会被认为 ``[k, k]``。 - - **strides** (int|list|tuple,可选) - 步长大小,整数或者整型列表。如为列表类型应包含两个元素 ``[stride_h, stride_w]``。如果为整数 stride,则输出形状会被认为 ``[sride, stride]``。默认为[1,1]。 - - **paddings** (int|list|tuple,可选) – 每个维度的扩展,整数或者整型列表。如果为整型列表,长度应该为 4 或者 2;长度为 4 对应的 padding 参数是:[padding_top, padding_left,padding_bottom, padding_right],长度为 2 对应的 padding 参数是[padding_h, padding_w],会被当作[padding_h, padding_w, padding_h, padding_w]处理。如果为整数 padding,则会被当作[padding, padding, padding, padding]处理。默认值为 0。 - - **dilations** (int|list|tuple,可选) – 卷积膨胀,整型列表或者整数。如果为整型列表,应该包含两个元素[dilation_h, dilation_w]。如果是整数 dilation,会被当作整型列表[dilation, dilation]处理。默认值为 1。 + - **output_sizes** (int|list|tuple) – 输出尺寸,整数或者整型列表。如为列表类型应包含两个元素 ``[output_size_h, output_size_w]``。如果为整数 o,则输出形状会被认为 ``[o, o]``。别名 ``output_size``。 + - **kernel_sizes** (int|list|tuple) - 卷积核大小,整数或者整型列表。如为列表类型应包含两个元素 ``[k_h, k_w]``。如果为整数 k,则输出形状会被认为 ``[k, k]``。别名 ``kernel_size``。 + - **dilations** (int|list|tuple,可选) – 卷积膨胀,整型列表或者整数。如果为整型列表,应该包含两个元素[dilation_h, dilation_w]。如果是整数 dilation,会被当作整型列表[dilation, dilation]处理。默认值为 1。别名 ``dilation``。 + - **paddings** (int|list|tuple,可选) – 每个维度的扩展,整数或者整型列表。如果为整型列表,长度应该为 4 或者 2;长度为 4 对应的 padding 参数是:[padding_top, padding_left,padding_bottom, padding_right],长度为 2 对应的 padding 参数是[padding_h, padding_w],会被当作[padding_h, padding_w, padding_h, padding_w]处理。如果为整数 padding,则会被当作[padding, padding, padding, padding]处理。默认值为 0。别名 ``padding``。 + - **strides** (int|list|tuple,可选) - 步长大小,整数或者整型列表。如为列表类型应包含两个元素 ``[stride_h, stride_w]``。如果为整数 stride,则输出形状会被认为 ``[stride, stride]``。默认为[1,1]。别名 ``stride``。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 ::::::::: - - **输入** :4-D Tensor,形状为[N, C_in, L],数据类型为 float32 或者 float64 + - **输入** :3-D Tensor,形状为[N, C_in, L],数据类型为 float32、float64、complex64 或 complex128。 - **输出** :形状如上面所描述的[N, Cout, H, W],数据类型与 ``x`` 相同 diff --git a/docs/api/paddle/nn/GRU_cn.rst b/docs/api/paddle/nn/GRU_cn.rst index c9de9ccf304..23b772bb850 100644 --- a/docs/api/paddle/nn/GRU_cn.rst +++ b/docs/api/paddle/nn/GRU_cn.rst @@ -3,7 +3,14 @@ GRU ------------------------------- -.. py:class:: paddle.nn.GRU(input_size, hidden_size, num_layers=1, direction="forward", time_major=False, dropout=0.0, weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None, name=None) +.. py:class:: paddle.nn.GRU(input_size, hidden_size, num_layers=1, direction="forward", time_major=False, dropout=0.0, weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None, *, bias=True, device=None, dtype=None) + +.. note:: + + 本 API 支持两种签名: + + 1. ``paddle.nn.GRU(input_size, hidden_size, num_layers=1, direction='forward', time_major=False, dropout=0.0, weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None, *, bias=True, device=None, dtype=None)`` (Paddle 风格)。 + 2. ``paddle.nn.GRU(input_size, hidden_size, num_layers, bias, batch_first, dropout=0.0, bidirectional=False, device=None, dtype=None)`` (PyTorch 风格)。 @@ -42,7 +49,13 @@ GRU - **weight_hh_attr** (ParamAttr,可选) - weight_hh 的参数。默认为 None。 - **bias_ih_attr** (ParamAttr,可选) - bias_ih 的参数。默认为 None。 - **bias_hh_attr** (ParamAttr,可选) - bias_hh 的参数。默认为 None。 - - **name** (str,可选) - 操作的名称(可选,默认为 None)。欲了解更多信息,请参考 :ref:`api_guide_Name` + +关键字参数 +:::::::::::: + + - **bias** (bool,可选) - 若为 False,层不使用偏置权重 ``bias_ih`` 和 ``bias_hh``。默认值为 True。 + - **device** (str,可选) - 层参数所在设备。默认值为 None。 + - **dtype** (str,可选) - 层参数的数据类型。默认值为 None。 输入 :::::::::::: diff --git a/docs/api/paddle/nn/Hardsigmoid_cn.rst b/docs/api/paddle/nn/Hardsigmoid_cn.rst index bae3b0144ce..15ab10021f5 100644 --- a/docs/api/paddle/nn/Hardsigmoid_cn.rst +++ b/docs/api/paddle/nn/Hardsigmoid_cn.rst @@ -3,7 +3,7 @@ Hardsigmoid ------------------------------- -.. py:class:: paddle.nn.Hardsigmoid(name=None) +.. py:class:: paddle.nn.Hardsigmoid(inplace=False, name=None) Hardsigmoid 激活层,用于创建一个 ``Hardsigmoid`` 类的可调用对象。sigmoid 的分段线性逼近激活函数,速度比 sigmoid 快,详细解释参见 `Noisy Activation Functions `_ 。 @@ -23,12 +23,13 @@ Hardsigmoid 激活层,用于创建一个 ``Hardsigmoid`` 类的可调用对象 参数 :::::::::: + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 :::::::::: - - input:任意形状的 Tensor。 - - output:和 input 具有相同形状的 Tensor。 + - input:任意形状、数据类型为 float32 或 float64 的 Tensor。 + - output:和 input 具有相同形状和数据类型的 Tensor。 代码示例 :::::::::: diff --git a/docs/api/paddle/nn/LSTMCell_cn.rst b/docs/api/paddle/nn/LSTMCell_cn.rst index 8e352cf7e41..3717270bb2c 100644 --- a/docs/api/paddle/nn/LSTMCell_cn.rst +++ b/docs/api/paddle/nn/LSTMCell_cn.rst @@ -3,7 +3,7 @@ LSTMCell ------------------------------- -.. py:class:: paddle.nn.LSTMCell(input_size, hidden_size, weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None, proj_size=0, name=None) +.. py:class:: paddle.nn.LSTMCell(input_size, hidden_size, *, weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None, proj_size=0, bias=True, device=None, dtype=None, name=None) @@ -41,11 +41,18 @@ LSTMCell - **input_size** (int) - 输入的大小。 - **hidden_size** (int) - 隐藏状态大小。 + +关键字参数 +:::::::::::: + - **weight_ih_attr** (ParamAttr,可选) - weight_ih 的参数。默认为 None。 - **weight_hh_attr** (ParamAttr,可选) - weight_hh 的参数。默认为 None。 - **bias_ih_attr** (ParamAttr,可选) - bias_ih 的参数。默认为 None。 - **bias_hh_attr** (ParamAttr,可选) - bias_hh 的参数。默认为 None。 - **proj_size** (int,可选) - 若大于 0,则会使用投影层将隐状态隐射到指定大小,其值必须小于 ``hidden_size`` 。默认为 0。 + - **bias** (bool,可选) - 是否使用偏置权重 ``bias_ih`` 和 ``bias_hh``。若为 False,则不使用偏置权重。默认值为 True。 + - **device** (str,可选) - 层参数所在设备。默认值为 None。 + - **dtype** (str,可选) - 层参数的数据类型。默认值为 None。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 变量 @@ -53,6 +60,7 @@ LSTMCell - **weight_ih** (Parameter) - input 到 hidden 的变换矩阵的权重。形状为(4 * hidden_size, input_size)。对应公式中的 :math:`W_{ii}, W_{if}, W_{ig}, W_{io}`。 - **weight_hh** (Parameter) - hidden 到 hidden 的变换矩阵的权重。形状为(4 * hidden_size, hidden_size)。对应公式中的 :math:`W_{hi}, W_{hf}, W_{hg}, W_{ho}`。 + - **weight_ho** (Parameter) - hidden 到 output 的变换矩阵的权重。 - **bias_ih** (Parameter) - input 到 hidden 的变换矩阵的偏置。形状为(4 * hidden_size, )。对应公式中的 :math:`b_{ii}, b_{if}, b_{ig}, b_{io}`。 - **bias_hh** (Parameter) - hidden 到 hidden 的变换矩阵的偏置。形状为(4 * hidden_size, )。对应公式中的 :math:`b_{hi}, b_{hf}, b_{hg}, b_{ho}`。 @@ -60,7 +68,7 @@ LSTMCell :::::::::::: - **inputs** (Tensor) - 输入。形状为[batch_size, input_size],对应公式中的 :math:`x_t`。 - - **states** (tuple,可选) - 一个包含两个 Tensor 的元组,每个 Tensor 的形状都为[batch_size, hidden_size],上一轮的隐藏状态。对应公式中的 :math:`h_{t-1},c_{t-1}`。当 state 为 None 的时候,初始状态为全 0 矩阵。默认为 None。 + - **states** (tuple,可选) - 一个包含两个 Tensor 的元组,每个 Tensor 的形状都为[batch_size, hidden_size],上一轮的隐藏状态。对应公式中的 :math:`h_{t-1},c_{t-1}`。当 states 为 None 的时候,初始状态为全 0 矩阵。默认为 None。 输出 :::::::::::: diff --git a/docs/api/paddle/nn/LSTM_cn.rst b/docs/api/paddle/nn/LSTM_cn.rst index d5bc6695858..ed05fa88e06 100644 --- a/docs/api/paddle/nn/LSTM_cn.rst +++ b/docs/api/paddle/nn/LSTM_cn.rst @@ -3,7 +3,7 @@ LSTM ------------------------------- -.. py:class:: paddle.nn.LSTM(input_size, hidden_size, num_layers=1, direction="forward", dropout=0., time_major=False, weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None, proj_size=0, name=None) +.. py:class:: paddle.nn.LSTM(input_size, hidden_size, num_layers=1, *, direction="forward", time_major=False, dropout=0., weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None, proj_size=0, bias=True, device=None, dtype=None, name=None) @@ -42,8 +42,12 @@ LSTM - **input_size** (int) - 输入 :math:`x` 的大小。 - **hidden_size** (int) - 隐藏状态 :math:`h` 大小。 - - **num_layers** (int,可选) - 循环网络的层数。例如,将层数设为 2,会将两层 GRU 网络堆叠在一起,第二层的输入来自第一层的输出。默认为 1。 - - **direction** (str,可选) - 网络迭代方向,可设置为 forward 或 bidirect(或 bidirectional)。forward 指从序列开始到序列结束的单向 GRU 网络方向,bidirectional 指从序列开始到序列结束,又从序列结束到开始的双向 GRU 网络方向。默认为 forward。 + - **num_layers** (int,可选) - 循环网络的层数。例如,将层数设为 2,会将两层 LSTM 网络堆叠在一起,第二层的输入来自第一层的输出。默认为 1。 + +关键字参数 +:::::::::::: + + - **direction** (str,可选) - 网络迭代方向,可设置为 forward 或 bidirect(或 bidirectional)。forward 指从序列开始到序列结束的单向 LSTM 网络方向,bidirectional 指从序列开始到序列结束,又从序列结束到开始的双向 LSTM 网络方向。默认为 forward。 - **time_major** (bool,可选) - 指定 input 的第一个维度是否是 time steps。如果 time_major 为 True,则 Tensor 的形状为[time_steps, batch_size, input_size],否则为[batch_size, time_steps, input_size]。``time_steps`` 指输入序列的长度。默认为 False。 - **dropout** (float,可选) - dropout 概率,指的是除第一层外每层输入时的 dropout 概率。范围为[0, 1]。默认为 0。 - **weight_ih_attr** (ParamAttr,可选) - weight_ih 的参数。默认为 None。 @@ -51,13 +55,16 @@ LSTM - **bias_ih_attr** (ParamAttr,可选) - bias_ih 的参数。默认为 None。 - **bias_hh_attr** (ParamAttr,可选) - bias_hh 的参数。默认为 None。 - **proj_size** (int,可选) - 若大于 0,则会使用投影层将隐状态隐射到指定大小,其值必须小于 ``hidden_size`` 。默认为 0。 + - **bias** (bool,可选) - 是否使用偏置权重 ``bias_ih`` 和 ``bias_hh``。若为 False,则不使用偏置权重。默认值为 True。 + - **device** (str,可选) - 层参数所在设备。默认值为 None。 + - **dtype** (str,可选) - 层参数的数据类型。默认值为 None。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 输入 :::::::::::: - **inputs** (Tensor) - 网络输入。如果 time_major 为 True,则 Tensor 的形状为[time_steps,batch_size,input_size],如果 time_major 为 False,则 Tensor 的形状为[batch_size,time_steps,input_size]。``time_steps`` 指输入序列的长度。 - - **initial_states** (tuple,可选) - 网络的初始状态,一个包含 h 和 c 的元组,形状为[num_layers * num_directions, batch_size, hidden_size]。如果没有给出则会以全零初始化。 + - **initial_states** (list|tuple,可选) - 网络的初始状态,一个包含 h 和 c 的列表或元组,形状为[num_layers * num_directions, batch_size, hidden_size]。如果没有给出则会以全零初始化。 - **sequence_length** (Tensor,可选) - 指定输入序列的实际长度,形状为[batch_size],数据类型为 int64 或 int32。在输入序列中所有 time step 不小于 sequence_length 的元素都会被当作填充元素处理(状态不再更新)。 输出 diff --git a/docs/api/paddle/nn/MarginRankingLoss_cn.rst b/docs/api/paddle/nn/MarginRankingLoss_cn.rst index 9c0631c0ddb..e1371f5185a 100644 --- a/docs/api/paddle/nn/MarginRankingLoss_cn.rst +++ b/docs/api/paddle/nn/MarginRankingLoss_cn.rst @@ -26,13 +26,13 @@ MarginRankingLoss 参数 :::::::: - - **margin** (float,可选) - 用于加和的 margin 值,默认值为 0。 - - **reduction** (string,可选) - 指定应用于输出结果的计算方式,可选值有:``none`` 、 ``mean`` 、 ``sum``。如果设置为 ``none``,则直接返回 最原始的 ``margin_rank_loss``。如果设置为 ``sum``,则返回 ``margin_rank_loss`` 的总和。如果设置为 ``mean``,则返回 ``margin_rank_loss`` 的平均值。默认值为 ``none`` 。 + - **margin** (float,可选) - 用于加和的 margin 值,默认值为 0。 + - **reduction** (string,可选) - 指定应用于输出结果的计算方式,可选值有:``none`` 、 ``mean`` 、 ``sum``。如果设置为 ``none``,则直接返回 最原始的 ``margin_rank_loss``。如果设置为 ``sum``,则返回 ``margin_rank_loss`` 的总和。如果设置为 ``mean``,则返回 ``margin_rank_loss`` 的平均值。默认值为 ``mean`` 。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 :::::::: - - **input** :N-D Tensor,维度是[N,*] 其中 N 是 batch size,``*`` 是任意数量的额外维度,数据类型为 float32 或 float64。 + - **input** :N-D Tensor,维度是[N, \*] 其中 N 是 batch size,``*`` 是任意数量的额外维度,数据类型为 float32 或 float64。 - **other** :与 input 的形状、数据类型相同。 - **label** :与 input 的形状、数据类型相同。 - **output** :如果 :attr:`reduction` 为 ``'sum'`` 或者是 ``'mean'``,则形状为 :math:`[]`,否则 shape 和输入 ``input`` 保持一致。数据类型与 ``input``、 ``other`` 相同。 diff --git a/docs/api/paddle/nn/Mish_cn.rst b/docs/api/paddle/nn/Mish_cn.rst index 79d99a846aa..3c7c48d583b 100644 --- a/docs/api/paddle/nn/Mish_cn.rst +++ b/docs/api/paddle/nn/Mish_cn.rst @@ -2,7 +2,7 @@ Mish ------------------------------- -.. py:class:: paddle.nn.Mish(name=None) +.. py:class:: paddle.nn.Mish(inplace=False, name=None) Mish 激活层 @@ -18,6 +18,7 @@ Mish 激活层 参数 :::::::::: + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 diff --git a/docs/api/paddle/nn/ModuleDict_cn.rst b/docs/api/paddle/nn/ModuleDict_cn.rst index 3b62ffe8f2b..60c9ebc513a 100644 --- a/docs/api/paddle/nn/ModuleDict_cn.rst +++ b/docs/api/paddle/nn/ModuleDict_cn.rst @@ -3,7 +3,7 @@ ModuleDict ------------------------------- -.. py:class:: paddle.nn.ModuleDict(modules=None) +.. py:class:: paddle.nn.ModuleDict(sublayers=None) @@ -11,12 +11,12 @@ ModuleDict ModuleDict 用于保存子层到有序字典中,它包含的子层将被正确地注册和添加。列表中的子层可以像常规 python 有序字典一样被访问。 .. note:: - ``LayerDict`` 是 ``ModuleDict`` 的别名,两者在使用和功能上完全等价。 + ``ModuleDict`` 是 ``LayerDict`` 的别名,两者在使用和功能上完全等价。 参数 :::::::::::: - - **modules** (ModuleDict|OrderedDict|list[(key, Module)],可选) - 键值对的可迭代对象,值的类型为 ``paddle.nn.Module`` 。 + - **sublayers** (ModuleDict|OrderedDict|list[(key, Module)],可选) - 键值对的可迭代对象,值的类型为 ``paddle.nn.Module`` 。 代码示例 @@ -27,7 +27,7 @@ COPY-FROM: paddle.nn.ModuleDict 方法 :::::::::::: clear() -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 清除 ModuleDict 中所有的子层。 @@ -39,8 +39,8 @@ clear() COPY-FROM: paddle.nn.ModuleDict.clear -pop() -''''''''' +pop(key) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 移除 ModuleDict 中的键 并且返回该键对应的子层。 @@ -53,7 +53,7 @@ pop() COPY-FROM: paddle.nn.ModuleDict.pop keys() -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 返回 ModuleDict 中键的可迭代对象。 @@ -66,7 +66,7 @@ keys() COPY-FROM: paddle.nn.ModuleDict.keys items() -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 返回 ModuleDict 中键/值对的可迭代对象。 @@ -80,7 +80,7 @@ COPY-FROM: paddle.nn.ModuleDict.items values() -''''''''' +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 返回 ModuleDict 中值的可迭代对象。 @@ -93,14 +93,14 @@ values() COPY-FROM: paddle.nn.ModuleDict.values -update() -''''''''' +update(sublayers) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 更新子层中的键/值对到 ModuleDict 中,会覆盖已经存在的键。 **参数** - - **modules** (ModuleDict|OrderedDict|list[(key, Module)]) - 键值对的可迭代对象,值的类型为 ``paddle.nn.Module`` 。 + - **sublayers** (ModuleDict|OrderedDict|list[(key, Module)]) - 键值对的可迭代对象,值的类型为 ``paddle.nn.Module``。别名 ``modules``。 **代码示例** diff --git a/docs/api/paddle/nn/ModuleList_cn.rst b/docs/api/paddle/nn/ModuleList_cn.rst index e23b73ea74f..011933b63fb 100644 --- a/docs/api/paddle/nn/ModuleList_cn.rst +++ b/docs/api/paddle/nn/ModuleList_cn.rst @@ -3,7 +3,7 @@ ModuleList ------------------------------- -.. py:class:: paddle.nn.ModuleList(modules=None) +.. py:class:: paddle.nn.ModuleList(sublayers=None) @@ -11,12 +11,12 @@ ModuleList ModuleList 用于保存子层列表,它包含的子层将被正确地注册和添加。列表中的子层可以像常规 python 列表一样被索引。 .. note:: - ``LayerList`` 是 ``ModuleList`` 的别名,两者在使用和功能上完全等价。 + ``ModuleList`` 是 ``LayerList`` 的别名,两者在使用和功能上完全等价。 参数 :::::::::::: - - **modules** (iterable,可选) - 要保存的子层。 + - **sublayers** (iterable,可选) - 要保存的子层。 代码示例 @@ -26,41 +26,41 @@ COPY-FROM: paddle.nn.ModuleList 方法 :::::::::::: -append() -''''''''' +append(sublayer) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 添加一个子层到整个 list 的最后。 **参数** - - **modules** (Module) - 要添加的子层。 + - **sublayer** (Module) - 要添加的子层。别名 ``module``。 **代码示例** COPY-FROM: paddle.nn.ModuleList.append -insert() -''''''''' +insert(index, sublayer) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 向 list 中插入一个子层,到给定的 index 前面。 **参数** - **index** (int) - 要插入的位置。 - - **module** (Module) - 要插入的子层。 + - **sublayer** (Module) - 要插入的子层。别名 ``module``。 **代码示例** COPY-FROM: paddle.nn.ModuleList.insert -extend() -''''''''' +extend(sublayers) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 添加多个子层到整个 list 的最后。 **参数** - - **modules** (iterable of Module) - 要添加的所有子层。 + - **sublayers** (iterable of Module) - 要添加的所有子层。别名 ``modules``。 **代码示例** diff --git a/docs/api/paddle/nn/RReLU_cn.rst b/docs/api/paddle/nn/RReLU_cn.rst index 7ccebed62f4..14dd464101b 100644 --- a/docs/api/paddle/nn/RReLU_cn.rst +++ b/docs/api/paddle/nn/RReLU_cn.rst @@ -2,7 +2,7 @@ RReLU ------------------------------- -.. py:class:: paddle.nn.RReLU(lower=0.125, upper=0.3333333333333333, name=None) +.. py:class:: paddle.nn.RReLU(lower=0.125, upper=0.3333333333333333, inplace=False, name=None) RReLU 激活层,应用随机纠正线性单元对神经元激活,参考论文: `Empirical Evaluation of Rectified Activations in Convolutional Network `_ 。 @@ -39,6 +39,7 @@ RReLU 激活层,应用随机纠正线性单元对神经元激活,参考论 :::::::::: - **lower** (float,可选) - 负值斜率的随机值范围下限,``lower`` 包含在范围中。支持的数据类型:float。默认值为 0.125。 - **upper** (float,可选) - 负值斜率的随机值范围上限,``upper`` 包含在范围中。支持的数据类型:float。默认值为 0.3333333333333333。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 diff --git a/docs/api/paddle/nn/SELU_cn.rst b/docs/api/paddle/nn/SELU_cn.rst index f579917fc67..f4d8f9ff59c 100644 --- a/docs/api/paddle/nn/SELU_cn.rst +++ b/docs/api/paddle/nn/SELU_cn.rst @@ -2,7 +2,7 @@ SELU ------------------------------- -.. py:class:: paddle.nn.SELU(scale=1.0507009873554804934193349852946, alpha=1.6732632423543772848170429916717, name=None) +.. py:class:: paddle.nn.SELU(scale=1.0507009873554804934193349852946, alpha=1.6732632423543772848170429916717, inplace=False, name=None) SELU 激活层 @@ -20,6 +20,7 @@ SELU 激活层 :::::::::: - **scale** (float,可选) - SELU 激活计算公式中的 scale 值,必须大于 1.0。默认值为 1.0507009873554804934193349852946。 - **alpha** (float,可选) - SELU 激活计算公式中的 alpha 值,必须大于等于零。默认值为 1.6732632423543772848170429916717。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 diff --git a/docs/api/paddle/nn/Silu_cn.rst b/docs/api/paddle/nn/Silu_cn.rst index 7c7d29a2895..20f246dd186 100644 --- a/docs/api/paddle/nn/Silu_cn.rst +++ b/docs/api/paddle/nn/Silu_cn.rst @@ -2,7 +2,7 @@ Silu ------------------------------- -.. py:class:: paddle.nn.Silu(name=None) +.. py:class:: paddle.nn.Silu(inplace=False, name=None) Silu 激活层。计算公式如下: @@ -15,6 +15,7 @@ Silu 激活层。计算公式如下: 参数 :::::::::: + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 diff --git a/docs/api/paddle/nn/SimpleRNN_cn.rst b/docs/api/paddle/nn/SimpleRNN_cn.rst index 5b352292448..d8f6dacdebd 100644 --- a/docs/api/paddle/nn/SimpleRNN_cn.rst +++ b/docs/api/paddle/nn/SimpleRNN_cn.rst @@ -3,7 +3,7 @@ SimpleRNN ------------------------------- -.. py:class:: paddle.nn.SimpleRNN(input_size, hidden_size, num_layers=1, activation="tanh", direction="forward", dropout=0., time_major=False, weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None) +.. py:class:: paddle.nn.SimpleRNN(input_size, hidden_size, num_layers=1, direction="forward", time_major=False, dropout=0., activation="tanh", weight_ih_attr=None, weight_hh_attr=None, bias_ih_attr=None, bias_hh_attr=None, name=None) @@ -25,14 +25,15 @@ SimpleRNN - **input_size** (int) - 输入 :math:`x` 的大小。 - **hidden_size** (int) - 隐藏状态 :math:`h` 大小。 - **num_layers** (int,可选) - 循环网络的层数。例如,将层数设为 2,会将两层 GRU 网络堆叠在一起,第二层的输入来自第一层的输出。默认为 1。 - - **direction** (str,可选) - 网络迭代方向,可设置为 forward 或 bidirect(或 bidirectional)。forward 指从序列开始到序列结束的单向 GRU 网络方向,bidirectional 指从序列开始到序列结束,又从序列结束到开始的双向 GRU 网络方向。默认为 forward。 + - **direction** (str,可选) - 网络迭代方向,可设置为 forward 或 bidirect(或 bidirectional)。forward 指从序列开始到序列结束的单向 SimpleRNN 网络方向,bidirectional 指从序列开始到序列结束,又从序列结束到开始的双向 SimpleRNN 网络方向。默认为 forward。 - **time_major** (bool,可选) - 指定 input 的第一个维度是否是 time steps。如果 time_major 为 True,则 Tensor 的形状为[time_steps,batch_size,input_size],否则为[batch_size,time_steps,input_size]。``time_steps`` 指输入序列的长度。默认为 False。 - - **dropout** (float,可选) - dropout 概率,指的是出第一层外每层输入时的 dropout 概率。范围为[0, 1]。默认为 0。 + - **dropout** (float,可选) - dropout 概率,指的是除第一层外每层输入时的 dropout 概率。范围为[0, 1]。默认为 0。 - **activation** (str,可选) - 网络中每个单元的激活函数。可以是 tanh 或 relu。默认为 tanh。 - **weight_ih_attr** (ParamAttr,可选) - weight_ih 的参数。默认为 None。 - **weight_hh_attr** (ParamAttr,可选) - weight_hh 的参数。默认为 None。 - **bias_ih_attr** (ParamAttr,可选) - bias_ih 的参数。默认为 None。 - **bias_hh_attr** (ParamAttr,可选) - bias_hh 的参数。默认为 None。 + - **name** (str,可选) - 操作名称。默认值为 None。具体用法请参见 :ref:`api_guide_Name`。 输入 :::::::::::: diff --git a/docs/api/paddle/nn/SpectralNorm_cn.rst b/docs/api/paddle/nn/SpectralNorm_cn.rst index 0421a9c00b3..8d5d5cacc95 100644 --- a/docs/api/paddle/nn/SpectralNorm_cn.rst +++ b/docs/api/paddle/nn/SpectralNorm_cn.rst @@ -3,7 +3,7 @@ SpectralNorm ------------------------------- -.. py:class:: paddle.nn.SpectralNorm(weight_shape, dim=0, power_iters=1, eps=1e-12, name=None, dtype="float32") +.. py:class:: paddle.nn.SpectralNorm(weight_shape, dim=0, power_iters=1, eps=1e-12, dtype="float32") 构建 ``SpectralNorm`` 类的一个可调用对象,具体用法参照 ``代码示例``。其中实现了谱归一化层的功能,用于计算 fc、conv1d、conv2d、conv3d 层的权重参数的谱正则值,输入权重参数应分别为 2-D, 3-D, 4-D, 5-D Tensor,输出 Tensor 与输入 Tensor 维度相同。谱特征值计算方式如下: @@ -17,7 +17,7 @@ SpectralNorm \mathbf{v} &:= \frac{\mathbf{W}^{T} \mathbf{u}}{\|\mathbf{W}^{T} \mathbf{u}\|_2}\\ \mathbf{u} &:= \frac{\mathbf{W}^{T} \mathbf{v}}{\|\mathbf{W}^{T} \mathbf{v}\|_2} -步骤 3:计算 :math:`\sigma(\mathbf{W})` 并特征值值归一化。 +步骤 3:计算 :math:`\sigma(\mathbf{W})` 并特征值归一化。 .. math:: \sigma(\mathbf{W}) &= \mathbf{u}^{T} \mathbf{W} \mathbf{v}\\ @@ -32,7 +32,6 @@ SpectralNorm - **dim** (int,可选) - 将输入(weight)重塑为矩阵之前应排列到第一个的维度索引,如果 input(weight)是 fc 层的权重,则应设置为 0;如果 input(weight)是 conv 层的权重,则应设置为 1。默认值:0。 - **power_iters** (int,可选) - 将用于计算的 ``SpectralNorm`` 功率迭代次数,默认值:1。 - **eps** (float,可选) - ``eps`` 用于保证计算规范中的数值稳定性,分母会加上 ``eps`` 防止除零。默认值:1e-12。 - - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 - **dtype** (str|paddle.dtype|np.dtype,可选) - 数据类型,可以为"float32"或"float64"。默认值为"float32"。 形状 diff --git a/docs/api/paddle/nn/Swish_cn.rst b/docs/api/paddle/nn/Swish_cn.rst index 84728d0fa7c..132a510c4e4 100644 --- a/docs/api/paddle/nn/Swish_cn.rst +++ b/docs/api/paddle/nn/Swish_cn.rst @@ -2,7 +2,7 @@ Swish ------------------------------- -.. py:class:: paddle.nn.Swish(name=None) +.. py:class:: paddle.nn.Swish(inplace=False, name=None) Swish 激活层 @@ -14,6 +14,7 @@ Swish 激活层 参数 :::::::::: + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 形状 diff --git a/docs/api/paddle/nn/SyncBatchNorm_cn.rst b/docs/api/paddle/nn/SyncBatchNorm_cn.rst index 494cd1ddb63..16a169bbec6 100644 --- a/docs/api/paddle/nn/SyncBatchNorm_cn.rst +++ b/docs/api/paddle/nn/SyncBatchNorm_cn.rst @@ -3,7 +3,7 @@ SyncBatchNorm ------------------------------- -.. py:class:: paddle.nn.SyncBatchNorm(num_features, epsilon=1e-5, momentum=0.9, weight_attr=None, bias_attr=None, data_format='NCHW', name=None) +.. py:class:: paddle.nn.SyncBatchNorm(num_features, momentum=0.9, epsilon=1e-5, weight_attr=None, bias_attr=None, data_format='NCHW', name=None) 构建 ``SyncBatchNorm`` 类的一个可调用对象,具体用法参照 ``代码示例``。实现了跨卡 GPU 同步的批归一化(Cross-GPU Synchronized Batch Normalization Layer)的功能,可用在其他层(类似卷积层和全连接层)之后进行归一化操作。根据所有 GPU 同一批次的数据按照通道计算的均值和方差进行归一化。更多详情请参考:`Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift `_ @@ -42,10 +42,12 @@ SyncBatchNorm :::::::::::: - **num_features** (int) - 指明输入 ``Tensor`` 的通道数量。 - - **epsilon** (float,可选) - 为了数值稳定加在分母上的值。默认值:1e-05。 - **momentum** (float,可选) - 此值用于计算 ``moving_mean`` 和 ``moving_var``。默认值:0.9。更新公式如上所示。 - - **weight_attr** (ParamAttr|bool,可选) - 指定权重参数属性的对象。如果设置为 ``False``,则表示本层没有可训练的权重参数。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - - **bias_attr** (ParamAttr|bool,可选) - 指定偏置参数属性的对象。如果设置为 ``False``,则表示本层没有可训练的偏置参数。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 + - **epsilon** (float,可选) - 为了数值稳定加在分母上的值。默认值:1e-05。 + - **weight_attr** (ParamAttr|bool|None,可选) - 指定权重参数属性的对象。如果设置为 ``False``,则表示本层没有可训练的权重参数。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 + - **bias_attr** (ParamAttr|bool|None,可选) - 指定偏置参数属性的对象。如果设置为 ``False``,则表示本层没有可训练的偏置参数。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 + - **data_format** (str,可选) - 指定输入数据格式,可选值为 ``"NCHW"`` 或 ``"NHWC"``。其中 N 为批尺寸,C 为特征图的通道数,H 为特征图高度,W 为特征图宽度。默认值为 ``"NCHW"``。 + - **name** (str,可选) - BatchNorm 的名称,默认值为 None。具体用法请参见 :ref:`api_guide_Name`。 形状 :::::::::::: diff --git a/docs/api/paddle/nn/ThresholdedReLU_cn.rst b/docs/api/paddle/nn/ThresholdedReLU_cn.rst index df16432fdbf..b9a5ff203ae 100644 --- a/docs/api/paddle/nn/ThresholdedReLU_cn.rst +++ b/docs/api/paddle/nn/ThresholdedReLU_cn.rst @@ -2,7 +2,7 @@ ThresholdedReLU ------------------------------- -.. py:class:: paddle.nn.ThresholdedReLU(threshold=1.0, name=None) +.. py:class:: paddle.nn.ThresholdedReLU(threshold=1.0, value=0.0, name=None) Thresholded ReLU 激活层 diff --git a/docs/api/paddle/nn/functional/avg_pool2d_cn.rst b/docs/api/paddle/nn/functional/avg_pool2d_cn.rst index 5833c6bab95..22d02d95f6e 100644 --- a/docs/api/paddle/nn/functional/avg_pool2d_cn.rst +++ b/docs/api/paddle/nn/functional/avg_pool2d_cn.rst @@ -23,11 +23,11 @@ avg_pool2d 参数 ::::::::: - - **x** (Tensor):形状为 ``[N,C,H,W]`` 或 ``[N,H,W,C]`` 的 4-D Tensor,N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度,数据类型为 float32 或 float64。 + - **x** (Tensor):形状为 ``[N,C,H,W]`` 或 ``[N,H,W,C]`` 的 4-D Tensor,N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度,数据类型为 float16、float32、float64 或 uint16。 - **kernel_size** (int|list|tuple):池化核大小。如果它是一个元组或列表,它必须包含两个整数值,(pool_size_Height, pool_size_Width)。若为一个整数,则它的平方值将作为池化核大小,比如若 pool_size=2,则池化核大小为 2x2。 - **stride** (int|list|tuple):池化层的步长。如果它是一个元组或列表,它将包含两个整数,(pool_stride_Height, pool_stride_Width)。若为一个整数,则表示 H 和 W 维度上 stride 均为该值。默认值为 kernel_size。 - **padding** (str|int|list|tuple,可选) 池化填充。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法。如果它是一个元组或列表,它可以有 3 种格式:(1)包含 2 个整数值:[pad_height, pad_width];(2)包含 4 个整数值:[pad_height_top, pad_height_bottom, pad_width_left, pad_width_right];(3)包含 4 个二元组:当 data_format 为"NCHW"时为 [[0,0], [0,0], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right]],当 data_format 为"NHWC"时为[[0,0], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right], [0,0]]。若为一个整数,则表示 H 和 W 维度上均为该值。默认值:0。 - - **ceil_mode** (bool):是否用 ceil 函数计算输出高度和宽度。如果是 True,则使用 ``ceil`` 计算输出形状的大小。默认为 None + - **ceil_mode** (bool):是否用 ceil 函数计算输出高度和宽度。如果是 True,则使用 ``ceil`` 计算输出形状的大小。默认为 False。 - **exclusive** (bool):是否在平均池化模式忽略填充值,默认是 ``True``。 - **divisor_override** (int|float):如果指定,它将用作除数,否则根据 ``kernel_size`` 计算除数。默认 ``None``。 - **data_format** (str):输入和输出的数据格式,可以是"NCHW"和"NHWC"。N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度。默认值:"NCHW" diff --git a/docs/api/paddle/nn/functional/avg_pool3d_cn.rst b/docs/api/paddle/nn/functional/avg_pool3d_cn.rst index d71c85d179e..1cb0047a492 100644 --- a/docs/api/paddle/nn/functional/avg_pool3d_cn.rst +++ b/docs/api/paddle/nn/functional/avg_pool3d_cn.rst @@ -16,7 +16,7 @@ avg_pool3d kernel_size: :math:`[KD, KH, KW]` stride: :math:`stride` 输出: - Out 形状::math:`\left ( N,C, D_{in}, H_{out},W_{out} \right )` + Out 形状::math:`\left ( N,C, D_{out}, H_{out},W_{out} \right )` .. math:: \text{out}(N_i, C_j, d, h, w) ={} & \sum_{k=0}^{kD-1} \sum_{m=0}^{kH-1} \sum_{n=0}^{kW-1} \\ & \frac{\text{input}(N_i, C_j, \text{stride}[0] \times d + k, @@ -28,12 +28,12 @@ avg_pool3d ::::::::: - **x** (Tensor):形状为 [N,C,D,H,W] 或 [N,D,H,W,C] 的 5-D Tensor,N 是批尺寸,C 是通道数,D 是特征深度,H 是特征高度,W 是特征宽度,数据类型为 float16、float32 或 float64。 - **kernel_size** (int|list|tuple):池化核大小。如果它是一个元组或列表,它必须包含三个整数值,(pool_size_Depth, pool_size_Height, pool_size_Width)。若为一个整数,则表示 D,H 和 W 维度上均为该值,比如若 pool_size=2,则池化核大小为[2,2,2]。 - - **stride** (int|list|tuple):池化层的步长。如果它是一个元组或列表,它将包含两个整数,(pool_stride_Height, pool_stride_Width)。若为一个整数,则表示 H 和 W 维度上 stride 均为该值。默认值为 kernel_size。 + - **stride** (int|list|tuple):池化层的步长。如果它是一个元组或列表,它将包含三个整数,(stride_Depth, stride_Height, stride_Width)。若为一个整数,则表示 H 和 W 维度上 stride 均为该值。默认值为 kernel_size。 - **padding** (string|int|list|tuple) 池化填充。如果它是一个元组或列表,它可以有 3 种格式:(1)包含 3 个整数值:[pad_depth, pad_height, pad_width];(2)包含 6 个整数值:[pad_depth_front, pad_depth_back, pad_height_top, pad_height_bottom, pad_width_left, pad_width_right];(3)包含 5 个二元组:当 data_format 为"NCDHW"时为[[0,0], [0,0], [pad_depth_front, pad_depth_back], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right]],当 data_format 为"NDHWC"时为[[0,0], [pad_depth_front, pad_depth_back], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right], [0,0]]。若为一个整数,则表示 D、H 和 W 维度上均为该值。默认值:0。 - **ceil_mode** (bool):是否用 ceil 函数计算输出高度和宽度。如果是 True,则使用 ``ceil`` 计算输出形状的大小。默认为 False - **exclusive** (bool):是否在平均池化模式忽略填充值,默认是 ``True``。 - **divisor_override** (int|float):如果指定,它将用作除数,否则根据 ``kernel_size`` 计算除数。默认 ``None``。 - - **data_format** (str):输入和输出的数据格式,可以是"NCDHW"和"NDHWC"。N 是批尺寸,C 是通道数,D 是特征深度,H 是特征高度,W 是特征宽度。默认值:"NDCHW"。 + - **data_format** (str):输入和输出的数据格式,可以是"NCDHW"和"NDHWC"。N 是批尺寸,C 是通道数,D 是特征深度,H 是特征高度,W 是特征宽度。默认值:"NCDHW"。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 diff --git a/docs/api/paddle/nn/functional/celu_cn.rst b/docs/api/paddle/nn/functional/celu_cn.rst index 75e477dfaa6..8dd186a25ca 100644 --- a/docs/api/paddle/nn/functional/celu_cn.rst +++ b/docs/api/paddle/nn/functional/celu_cn.rst @@ -3,7 +3,7 @@ celu ------------------------------- -.. py:function:: paddle.nn.functional.celu(x, alpha=1.0, name=None) +.. py:function:: paddle.nn.functional.celu(x, alpha=1.0, inplace=False, name=None) celu 激活层(CELU Activation Operator) @@ -11,7 +11,7 @@ celu 激活层(CELU Activation Operator) .. math:: - celu(x) = max(0, x) + min(0, \alpha * (e^{x/\alpha} − 1)) + celu(x) = max(0, x) + min(0, \alpha * (e^{x/\alpha} - 1)) 其中,:math:`x` 为输入的 Tensor。 @@ -19,6 +19,7 @@ celu 激活层(CELU Activation Operator) :::::::::: - **x** (Tensor) - 输入的 ``Tensor``,数据类型为:float16、float32、float64。 - **alpha** (float,可选) - celu 的 alpha 值,默认值为 1.0。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/conv2d_transpose_cn.rst b/docs/api/paddle/nn/functional/conv2d_transpose_cn.rst index df16f00c23b..b8625ef6747 100644 --- a/docs/api/paddle/nn/functional/conv2d_transpose_cn.rst +++ b/docs/api/paddle/nn/functional/conv2d_transpose_cn.rst @@ -4,13 +4,13 @@ conv2d_transpose ------------------------------- -.. py:function:: paddle.nn.functional.conv2d_transpose(x, weight, bias=None, stride=1, padding=0, output_padding=0, groups=1, dilation=1, data_format='NCHW', output_size=None, name=None) +.. py:function:: paddle.nn.functional.conv2d_transpose(x, weight, bias=None, stride=1, padding=0, output_padding=0, groups=1, dilation=1, output_size=None, data_format='NCHW', name=None) 二维转置卷积层(Convolution2D transpose layer) -该层根据输入(input)、卷积核(kernel)和空洞大小(dilations)、步长(stride)、填充(padding)来计算输出特征层大小或者通过 output_size 指定输出特征层大小。输入(Input)和输出(Output)为 NCHW 或 NHWC 格式,其中 N 为批尺寸,C 为通道数(channel),H 为特征层高度,W 为特征层宽度。卷积核是 MCHW 格式,M 是输出图像通道数,C 是输入图像通道数,H 是卷积核高度,W 是卷积核宽度。如果组数大于 1,C 等于输入图像通道数除以组数的结果。转置卷积的计算过程相当于卷积的反向计算。转置卷积又被称为反卷积(但其实并不是真正的反卷积)。欲了解转置卷积层细节,请参考下面的说明和 参考文献_。如果参数 bias_attr 不为 False,转置卷积计算会添加偏置项。如果 act 不为 None,则转置卷积计算之后添加相应的激活函数。 +该层根据输入(input)、卷积核(kernel)和空洞大小(dilations)、步长(stride)、填充(padding)来计算输出特征层大小或者通过 output_size 指定输出特征层大小。输入(Input)和输出(Output)为 NCHW 或 NHWC 格式,其中 N 为批尺寸,C 为通道数(channel),H 为特征层高度,W 为特征层宽度。卷积核是 CMHW 格式,M 是输出图像通道数,C 是输入图像通道数,H 是卷积核高度,W 是卷积核宽度。如果组数大于 1,C 等于输入图像通道数除以组数的结果。转置卷积的计算过程相当于卷积的反向计算。转置卷积又被称为反卷积(但其实并不是真正的反卷积)。欲了解转置卷积层细节,请参考下面的说明和 参考文献_。如果参数 bias_attr 不为 False,转置卷积计算会添加偏置项。 .. _参考文献: https://arxiv.org/pdf/1603.07285.pdf @@ -18,15 +18,14 @@ conv2d_transpose 输入 :math:`X` 和输出 :math:`Out` 函数关系如下: .. math:: - Out=\sigma (W*X+b)\\ + Out=W*X+b\\ 其中: - :math:`X`:输入,具有 NCHW 或 NHWC 格式的 4-D Tensor - - :math:`W`:卷积核,具有 NCHW 格式的 4-D Tensor + - :math:`W`:卷积核,具有 CMHW 格式的 4-D Tensor - :math:`*`:卷积计算(注意:转置卷积本质上的计算还是卷积) - - :math:`b`:偏置(bias),2-D Tensor,形状为 ``[M,1]`` - - :math:`σ`:激活函数 + - :math:`b`:偏置(bias),1-D Tensor,形状为 ``[M]`` - :math:`Out`:输出值,NCHW 或 NHWC 格式的 4-D Tensor,和 ``X`` 的形状可能不同 **示例** @@ -71,9 +70,9 @@ conv2d_transpose 参数 :::::::::::: - - **x** (Tensor) - 输入是形状为 :math:`[N, C, H, W]` 或 :math:`[N, H, W, C]` 的 4-D Tensor,N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度,数据类型为 float16, float32 或 float64。 + - **x** (Tensor) - 输入是形状为 :math:`[N, C, H, W]` 或 :math:`[N, H, W, C]` 的 4-D Tensor,N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度,数据类型为 float16, float32 或 float64。别名 ``input``。 - **weight** (Tensor) - 形状为 :math:`[C, M/g, kH, kW]` 的卷积核(卷积核)。 M 是输出通道数,g 是分组的个数,kH 是卷积核的高度,kW 是卷积核的宽度。 - - **bias** (int|list|tuple,可选) - 偏置项,形状为::math:`[M,]` 。 + - **bias** (Tensor|None,可选) - 偏置项,形状为::math:`[M,]` 。 - **stride** (int|list|tuple,可选) - 步长大小。如果 ``stride`` 为元组,则必须包含两个整型数,分别表示垂直和水平滑动步长。否则,表示垂直和水平滑动步长均为 ``stride``。默认值:1。 - **padding** (int|list|tuple|str,可选) - 填充大小。如果它是一个字符串,可以是 "VALID" 或者 "SAME",表示填充算法,计算细节可参考上述 ``padding`` = "SAME" 或 ``padding`` = "VALID" 时的计算公式。 如果它是一个元组或列表,可以有以下 3 种格式: @@ -104,10 +103,10 @@ conv2d_transpose 默认值:0。 - **output_padding** (int|list|tuple,可选) - 输出形状上一侧额外添加的大小。默认值:0。 - - **dilation** (int|list|tuple,可选) - 空洞大小。空洞卷积时会使用该参数,卷积核对输入进行卷积时,感受野里每相邻两个特征点之间的空洞信息。如果空洞大小为列表或元组,则必须包含两个整型数:(dilation_height,dilation_width)。若为一个整数,dilation_height = dilation_width = dilation。默认值:1。 - **groups** (int,可选) - 二维卷积层的组数。根据 Alex Krizhevsky 的深度卷积神经网络(CNN)论文中的成组卷积:当 group=n,输入和卷积核分别根据通道数量平均分为 n 组,第一组卷积核和第一组输入进行卷积计算,第二组卷积核和第二组输入进行卷积计算,……,第 n 组卷积核和第 n 组输入进行卷积计算。默认值:1。 + - **dilation** (int|list|tuple,可选) - 空洞大小。空洞卷积时会使用该参数,卷积核对输入进行卷积时,感受野里每相邻两个特征点之间的空洞信息。如果空洞大小为列表或元组,则必须包含两个整型数:(dilation_height,dilation_width)。若为一个整数,dilation_height = dilation_width = dilation。默认值:1。 + - **output_size** (int|list|tuple,可选) - 输出尺寸,整数或包含两个整数 ``(image_height, image_width)`` 的列表或元组。如果为 ``None``,则会用 filter_size (``weight`` 的 shape)、``padding`` 和 ``stride`` 计算出输出特征图的尺寸。默认值:None。 - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致,可以是"NCHW"和"NHWC"。N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度。默认值:"NCHW"。 - - **output_size** (int|list|tuple,可选) - 输出尺寸,整数或包含一个整数的列表或元组。如果为 ``None``,则会用 filter_size (``weight`` 的 shape)、``padding`` 和 ``stride`` 计算出输出特征图的尺寸。默认值:None。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 diff --git a/docs/api/paddle/nn/functional/cross_entropy_cn.rst b/docs/api/paddle/nn/functional/cross_entropy_cn.rst index c990e0b6d6c..3f268424330 100644 --- a/docs/api/paddle/nn/functional/cross_entropy_cn.rst +++ b/docs/api/paddle/nn/functional/cross_entropy_cn.rst @@ -3,13 +3,15 @@ cross_entropy ------------------------------- -.. py:function:: paddle.nn.functional.cross_entropy(input, label, weight=None, ignore_index=-100, reduction="mean", soft_label=False, label_smoothing=0.0, axis=-1, name=None) +.. py:function:: paddle.nn.functional.cross_entropy(input, label, weight=None, ignore_index=-100, reduction="mean", soft_label=False, axis=-1, use_softmax=True, label_smoothing=0.0, name=None) -实现了 softmax 交叉熵损失函数。该函数会将 softmax 操作、交叉熵损失函数的计算过程进行合并,从而提供了数值上更稳定的计算。 +默认情况下,实现了 softmax 交叉熵损失函数。该函数会将 softmax 操作、交叉熵损失函数的计算过程进行合并,从而提供了数值上更稳定的计算。 + +当 ``use_softmax=False`` 时,该函数直接计算交叉熵损失,不进行 softmax 操作。 默认会对结果进行求 mean 计算,您也可以影响该默认行为,具体参考 reduction 参数说明。 -可用于计算硬标签或软标签的交叉熵。其中,硬标签是指实际 label 值,例如:0, 1, 2...,软标签是指实际 label 的概率,例如:0.6, 0,8, 0,2... +可用于计算硬标签或软标签的交叉熵。其中,硬标签是指实际 label 值,例如:0, 1, 2...,软标签是指实际 label 的概率,例如:0.6、0.8、0.2... 计算包括以下两个步骤: @@ -17,16 +19,32 @@ cross_entropy 1. 硬标签(每个样本仅可分到一个类别) + 1.1 当 ``use_softmax=True`` 时 + .. math:: \\loss_j=-\text{logits}_{label_j}+\log\left(\sum_{i=0}^{C}\exp(\text{logits}_i)\right) , j = 1,...,N, N 为样本数,C 为类别数 + 1.2 当 ``use_softmax=False`` 时 + + .. math:: + \\loss_j=-\log\left({P}_{label_j}\right) + , j = 1,...,N, N 为样本数,C 为类别数,P 为 input(softmax 的输出) + 2. 软标签(每个样本以一定的概率被分配至多个类别中,概率和为 1) + 2.1 当 ``use_softmax=True`` 时 + .. math:: \\loss_j=-\sum_{i=0}^{C}\text{label}_i\left(\text{logits}_i-\log\left(\sum_{i=0}^{C}\exp(\text{logits}_i)\right)\right) , j = 1,...,N, N 为样本数,C 为类别数 + 2.2 当 ``use_softmax=False`` 时 + + .. math:: + \\loss_j=-\sum_{j=0}^{C}\left({label}_j*\log\left({P}_{label_j}\right)\right) + , j = 1,...,N, N 为样本数,C 为类别数,P 为 input(softmax 的输出) + - **二、weight 及 reduction 处理** 1. weight 情况 @@ -81,15 +99,15 @@ cross_entropy 参数 ::::::::: - - **input** (Tensor) - 维度为 :math:`[N_1, N_2, ..., N_k, C]` 的多维 Tensor,其中最后一维 C 是类别数目。数据类型为 float32 或 float64。它需要未缩放的 ``input``。该 OP 不应该对 softmax 运算的输出进行操作,否则会产生错误的结果。 + - **input** (Tensor) - 维度为 :math:`[N_1, N_2, ..., N_k, C]` 的多维 Tensor,其中最后一维 C 是类别数目。数据类型为 float32 或 float64。当 ``use_softmax=True`` 时,需要输入未缩放的 logits,且不应输入 softmax 运算的输出;当 ``use_softmax=False`` 时,需要输入 softmax 运算的输出。 - **label** (Tensor) - 输入 input 对应的标签值。若 soft_label=False,要求 label 维度为 :math:`[N_1, N_2, ..., N_k]` 或 :math:`[N_1, N_2, ..., N_k, 1]`,数据类型为'int32', 'int64', 'float32', 'float64',且值必须大于等于 0 且小于 C;若 soft_label=True 且没有指定 label_smoothing ,要求 label 的维度、数据类型与 input 相同,且每个样本各软标签的总和为 1;若指定了 label_smoothing (label_smoothing > 0.0) 时,无论 soft_label 是什么值,label 的维度和数据类型可以是前面两种情况中的任意一种。换句话说,如果 label_smoothing > 0.0,label 可以是独热标签或整数标签。``target`` 为 ``label`` 的别名,行为完全一致。 - **weight** (Tensor,可选) - 权重 Tensor,需要手动给每个类调整权重,形状是(C)。它的维度与类别相同,数据类型为 float32,float64。默认值为 None。 - - **ignore_index** (int) - 指定一个忽略的标签值,此标签值不参与计算,负值表示无需忽略任何标签值。仅在 soft_label=False 时有效。默认值为-100。 - - **reduction** (str,可选) - 指示如何按批次大小平均损失,可选值为"none","mean","sum",如果选择是"mean",则返回 reduce 后的平均损失;如果选择是"sum",则返回 reduce 后的总损失。如果选择是"none",则返回没有 reduce 的损失。默认值是“mean”。 + - **ignore_index** (int,可选) - 指定一个忽略的标签值,此标签值不参与计算,负值表示无需忽略任何标签值。仅在 soft_label=False 时有效。默认值为-100。 + - **reduction** (str,可选) - 指示如何按批次大小平均损失,可选值为"none","mean","sum",如果选择是"mean",则返回 reduce 后的平均损失;如果选择是"sum",则返回 reduce 后的总损失。如果选择是"none",则返回没有 reduce 的损失。默认值是"mean"。 - **soft_label** (bool,可选) - 指明 label 是否为软标签。默认为 False,表示 label 为硬标签;若 soft_label=True 则表示软标签。 - - **label_smoothing** (float,可选)- 指定计算损失时的标签平滑度,它应该在 :math:`[0.0,1.0]` 范围内。其中 0.0 表示无平滑。使得平滑后的标签变成原始真实标签和均匀分布的混合,默认值: 0.0。 - - **axis** (int,可选) - 进行 softmax 计算的维度索引。它应该在 :math:`[-1,dim-1]` 范围内,而 ``dim`` 是输入 logits 的维度。默认值:-1。 + - **axis** (int,可选) - 进行 softmax 计算的维度索引。它应该在 :math:`[-1, dim-1]` 范围内,而 ``dim`` 是输入 logits 的维度。默认值:-1。 - **use_softmax** (bool,可选) - 指定是否对 input 进行 softmax 归一化。默认值:True。 + - **label_smoothing** (float,可选) - 指定计算损失时的标签平滑度,它应该在 :math:`[0.0, 1.0]` 范围内。其中 0.0 表示无平滑。使得平滑后的标签变成原始真实标签和均匀分布的混合,默认值: 0.0。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/dropout1d_cn.rst b/docs/api/paddle/nn/functional/dropout1d_cn.rst index 89a340fb9a1..a978b602171 100644 --- a/docs/api/paddle/nn/functional/dropout1d_cn.rst +++ b/docs/api/paddle/nn/functional/dropout1d_cn.rst @@ -3,7 +3,7 @@ dropout1d ------------------------------- -.. py:function:: paddle.nn.functional.dropout1d(x, p=0.5, training=True, inplace=False) +.. py:function:: paddle.nn.functional.dropout1d(input, p=0.5, training=True, inplace=False) 根据丢弃概率 ``p``,在训练过程中随机将某些 1D 通道置 0(对一个形状为 ``[N, C, L]`` 的 3D Tensor 或 ``[C, L]`` 的 2D Tensor,1D 通道指的是其中的形状为 ``L`` 的 1 维特征图)。 @@ -11,14 +11,14 @@ dropout1d 参数 ::::::::: - - **x** (Tensor) - 形状为 ``[N, C, L]`` 的 3D Tensor 或 ``[C, L]`` 的 2D Tensor,数据类型为 float16、float32 或 float64。 + - **input** (Tensor) - 形状为 ``[N, C, L]`` 的 3D Tensor 或 ``[C, L]`` 的 2D Tensor,数据类型为 float16、float32 或 float64。 - **p** (float,可选) - 将输入通道置 0 的概率,即丢弃概率,默认值为 0.5。 - **training** (bool,可选) - 标记是否为训练阶段,默认值为 True。 - **inplace** (bool,可选) - 是否原地操作。当前版本暂未实现(行为等同于 False),未来版本将支持,默认值为 False。 返回 ::::::::: -经过 dropout1d 之后的结果,与输入 ``x`` 形状相同的 ``Tensor``。 +经过 dropout1d 之后的结果,与输入 ``input`` 形状相同的 ``Tensor``。 代码示例 ::::::::: diff --git a/docs/api/paddle/nn/functional/dropout3d_cn.rst b/docs/api/paddle/nn/functional/dropout3d_cn.rst index 955e5b6121a..e74dbc6d503 100644 --- a/docs/api/paddle/nn/functional/dropout3d_cn.rst +++ b/docs/api/paddle/nn/functional/dropout3d_cn.rst @@ -3,7 +3,7 @@ dropout3d ------------------------------- -.. py:function:: paddle.nn.functional.dropout3d(x, p=0.5, training=True, name=None) +.. py:function:: paddle.nn.functional.dropout3d(x, p=0.5, training=True, data_format="NCDHW", name=None) 根据丢弃概率 ``p``,在训练过程中随机将某些通道特征图置 0 (对一个形状为 ``NCDHW`` 的 5 维 Tensor,通道指的是其中的形状为 ``DHW`` 的 3 维特征图)。 @@ -15,6 +15,7 @@ dropout3d - **x** (Tensor) - 形状为 [N, C, D, H, W] 或 [N, D, H, W, C] 的 5D ``Tensor``,其中 N 是批尺寸,C 是通道数,D 是特征深度,H 是特征高度,W 是特征宽度,数据类型只能为 float32 或 float64。 - **p** (float,可选) - 将输入通道置 0 的概率,即丢弃概率。默认值为 0.5。 - **training** (bool,可选) - 标记是否为训练阶段。默认值为 True。 + - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式与输入一致。可选值为 ``"NCDHW"`` 或 ``"NDHWC"``。当其为 ``"NCDHW"`` 时,数据按 [batch_size, input_channels, input_depth, input_height, input_width] 的顺序存储。默认值为 ``"NCDHW"``。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/dropout_cn.rst b/docs/api/paddle/nn/functional/dropout_cn.rst index 0e4590c3d37..5541f9c43aa 100644 --- a/docs/api/paddle/nn/functional/dropout_cn.rst +++ b/docs/api/paddle/nn/functional/dropout_cn.rst @@ -3,16 +3,17 @@ dropout ------------------------------- -.. py:function:: paddle.nn.functional.dropout(x, p=0.5, axis=None, training=True, mode="upscale_in_train", name=None) +.. py:function:: paddle.nn.functional.dropout(x, p=0.5, axis=None, training=True, inplace=False, mode="upscale_in_train", name=None) Dropout 是一种正则化手段,可根据给定的丢弃概率 ``p``,在训练过程中随机将一些神经元输出设置为 0,通过阻止神经元节点间的相关性来减少过拟合。 参数 ::::::::: - - **x** (Tensor) - 输入的多维 ``Tensor``,数据类型为:float16、float32、float64。 - - **p** (float,可选) - 将输入节点置 0 的概率,即丢弃概率。默认值为 0.5。 - - **axis** (int|list,可选) - 指定对输入 ``Tensor`` 进行 dropout 操作的轴。默认值为 None。 + - **x** (Tensor) - 输入的多维 ``Tensor``,数据类型为:float16、float32、float64。别名 ``input``。 + - **p** (float|int,可选) - 将输入节点置 0 的概率,即丢弃概率。默认值为 0.5。 + - **axis** (int|list|tuple,可选) - 指定对输入 ``Tensor`` 进行 dropout 操作的轴。默认值为 None。 - **training** (bool,可选) - 标记是否为训练阶段。默认值为 True。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **mode** (str,可选) - 丢弃单元的方式,有 'upscale_in_train' 和 'downscale_in_infer' 两种可供选择,默认值为 'upscale_in_train'。计算方法如下: 1. upscale_in_train(默认值),在训练时增大输出结果。 diff --git a/docs/api/paddle/nn/functional/fold_cn.rst b/docs/api/paddle/nn/functional/fold_cn.rst index fe80191c0a4..45105762a26 100644 --- a/docs/api/paddle/nn/functional/fold_cn.rst +++ b/docs/api/paddle/nn/functional/fold_cn.rst @@ -20,12 +20,12 @@ fold 参数 ::::::::: - - **x** (Tensor) – 输入 3-D Tensor,形状为[N, C, L],数据类型为 float32 、 float64 、 complex64 或 complex128 - - **output_sizes** (int|list|tuple) – 输出尺寸,整数或者整型列表。如为列表类型应包含两个元素 ``[output_size_h, output_size_w]``。如果为整数 o,则输出形状会被认为 ``[o, o]``。 - - **kernel_size** (int|list|tuple) - 卷积核大小,整数或者整型列表。如为列表类型应包含两个元素 ``[k_h, k_w]``。如果为整数 k,则输出形状会被认为 ``[k, k]``。 - - **strides** (int|list|tuple,可选) - 步长大小,整数或者整型列表。如为列表类型应包含两个元素 ``[stride_h, stride_w]``。如果为整数 stride,则输出形状会被认为 ``[sride, stride]``。默认为[1,1]。 - - **paddings** (int|list|tuple,可选) – 每个维度的扩展,整数或者整型列表。如果为整型列表,长度应该为 4 或者 2;长度为 4 对应的 padding 参数是:[padding_top, padding_left,padding_bottom, padding_right],长度为 2 对应的 padding 参数是[padding_h, padding_w],会被当作[padding_h, padding_w, padding_h, padding_w]处理。如果为整数 padding,则会被当作[padding, padding, padding, padding]处理。默认值为 0。 - - **dilations** (int|list|tuple,可选) – 卷积膨胀,整型列表或者整数。如果为整型列表,应该包含两个元素[dilation_h, dilation_w]。如果是整数 dilation,会被当作整型列表[dilation, dilation]处理。默认值为 1。 + - **x** (Tensor) - 输入 3-D Tensor,形状为[N, C, L],数据类型为 float32 、 float64 、 complex64 或 complex128。别名 ``input``。 + - **output_sizes** (int|list|tuple) - 输出尺寸,整数或者整型列表。如为列表类型应包含两个元素 ``[output_size_h, output_size_w]``。如果为整数 o,则输出形状会被认为 ``[o, o]``。别名 ``output_size``。 + - **kernel_sizes** (int|list|tuple) - 卷积核大小,整数或者整型列表。如为列表类型应包含两个元素 ``[k_h, k_w]``。如果为整数 k,则输出形状会被认为 ``[k, k]``。别名 ``kernel_size``。 + - **strides** (int|list|tuple,可选) - 步长大小,整数或者整型列表。如为列表类型应包含两个元素 ``[stride_h, stride_w]``。如果为整数 stride,则输出形状会被认为 ``[stride, stride]``。默认为[1,1]。别名 ``stride``。 + - **paddings** (int|list|tuple,可选) - 每个维度的扩展,整数或者整型列表。如果为整型列表,长度应该为 4 或者 2;长度为 4 对应的 padding 参数是:[padding_top, padding_left, padding_bottom, padding_right],长度为 2 对应的 padding 参数是[padding_h, padding_w],会被当作[padding_h, padding_w, padding_h, padding_w]处理。如果为整数 padding,则会被当作[padding, padding, padding, padding]处理。默认值为 0。别名 ``padding``。 + - **dilations** (int|list|tuple,可选) - 卷积膨胀,整型列表或者整数。如果为整型列表,应该包含两个元素[dilation_h, dilation_w]。如果是整数 dilation,会被当作整型列表[dilation, dilation]处理。默认值为 1。别名 ``dilation``。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 diff --git a/docs/api/paddle/nn/functional/hardsigmoid_cn.rst b/docs/api/paddle/nn/functional/hardsigmoid_cn.rst index eeae34cef34..f6fa5526430 100644 --- a/docs/api/paddle/nn/functional/hardsigmoid_cn.rst +++ b/docs/api/paddle/nn/functional/hardsigmoid_cn.rst @@ -3,7 +3,7 @@ hardsigmoid ------------------------------- -.. py:function:: paddle.nn.functional.hardsigmoid(x, slope=0.1666667, offset=0.5, name=None) +.. py:function:: paddle.nn.functional.hardsigmoid(x, slope=0.1666667, offset=0.5, inplace=False, name=None) hardsigmoid 激活层。sigmoid 的分段线性逼近激活函数,速度比 sigmoid 快,详细解释参见 `Noisy Activation Functions `_。 @@ -22,9 +22,10 @@ hardsigmoid 激活层。sigmoid 的分段线性逼近激活函数,速度比 si 参数 :::::::::: - - **x** (Tensor) - 输入的 ``Tensor``,数据类型为:float32、float64。 + - **x** (Tensor) - 输入的 ``Tensor``,数据类型为:float16、float32、float64、uint16。 - **slope** (float,可选) - hardsigmoid 的斜率。默认值为 0.1666667。 - **offset** (float,可选) - hardsigmoid 的截距。默认值为 0.5。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/lp_pool2d_cn.rst b/docs/api/paddle/nn/functional/lp_pool2d_cn.rst index 8c07594242d..48405b9afa7 100644 --- a/docs/api/paddle/nn/functional/lp_pool2d_cn.rst +++ b/docs/api/paddle/nn/functional/lp_pool2d_cn.rst @@ -4,6 +4,14 @@ lp_pool2d ------------------------------- .. py:function:: paddle.nn.functional.lp_pool2d(x, norm_type, kernel_size, stride=None, padding=0, ceil_mode=False, data_format="NCHW", name=None) + +.. note:: + + 本 API 支持两种签名: + + 1. ``paddle.nn.functional.lp_pool2d(x, norm_type, kernel_size, stride=None, padding=0, ceil_mode=False, data_format='NCHW', name=None)`` (Paddle 风格)。 + 2. ``paddle.nn.functional.lp_pool2d(input, norm_type, kernel_size, stride=None, ceil_mode=False)`` (PyTorch 风格)。 + 该函数是一个二维幂平均池化函数,其将构建一个二维幂平均池化层,根据输入参数 ``kernel_size``, ``stride``, ``padding`` 等参数对输入做平均池化操作。 @@ -30,12 +38,12 @@ lp_pool2d 参数 ::::::::: - - **x** (Tensor):形状为 ``[N,C,H,W]`` 或 ``[N,H,W,C]`` 的 4-D Tensor,N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度,数据类型为 float32 或 float64。 + - **x** (Tensor):形状为 ``[N,C,H,W]`` 或 ``[N,H,W,C]`` 的 4-D Tensor,N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度,数据类型为 float32 或 float64。别名 ``input``。 - **norm_type** (int|float):幂平均池化的指数,不可以为 0。 - **kernel_size** (int|list|tuple):池化核大小。如果它是一个元组或列表,它必须包含两个整数值,(pool_size_Height, pool_size_Width)。若为一个整数,则它的平方值将作为池化核大小,比如若 pool_size=2,则池化核大小为 2x2。 - **stride** (int|list|tuple):池化层的步长。如果它是一个元组或列表,它将包含两个整数,(pool_stride_Height, pool_stride_Width)。若为一个整数,则表示 H 和 W 维度上 stride 均为该值。默认值为 kernel_size。 - **padding** (string|int|list|tuple) 池化填充。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法。如果它是一个元组或列表,它可以有 3 种格式:(1)包含 2 个整数值:[pad_height, pad_width];(2)包含 4 个整数值:[pad_height_top, pad_height_bottom, pad_width_left, pad_width_right];(3)包含 4 个二元组:当 data_format 为"NCHW"时为 [[0,0], [0,0], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right]],当 data_format 为"NHWC"时为[[0,0], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right], [0,0]]。若为一个整数,则表示 H 和 W 维度上均为该值。默认值:0。 - - **ceil_mode** (bool):是否用 ceil 函数计算输出高度和宽度。如果是 True,则使用 ``ceil`` 计算输出形状的大小。默认为 None + - **ceil_mode** (bool):是否用 ceil 函数计算输出高度和宽度。如果是 True,则使用 ``ceil`` 计算输出形状的大小。默认为 False。 - **data_format** (str):输入和输出的数据格式,可以是"NCHW"和"NHWC"。N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度。默认值:"NCHW" - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 diff --git a/docs/api/paddle/nn/functional/margin_cross_entropy_cn.rst b/docs/api/paddle/nn/functional/margin_cross_entropy_cn.rst index e8bc2ec984c..d2de2ded508 100644 --- a/docs/api/paddle/nn/functional/margin_cross_entropy_cn.rst +++ b/docs/api/paddle/nn/functional/margin_cross_entropy_cn.rst @@ -12,25 +12,25 @@ margin_cross_entropy 提示: - 这个 API 支持单卡,也支持多卡(模型并行),使用模型并行时,``logits.shape[-1]`` 在每张卡上可以不同。 + 这个 API 支持单卡,也支持多卡(模型并行),使用模型并行时,``logits.shape[-1]`` 在每张卡上可以不同。不支持 CPU。 参数 :::::::::::: - - **logits** (Tensor) - 2-D Tensor,维度为 ``[N, local_num_classes]``,``logits`` 为归一化后的 ``X`` 与归一化后的 ``W`` 矩阵乘得到,数据类型为 float16,float32 或者 float64。如果用了模型并行,则 ``logits == sahrd_logits``。 + - **logits** (Tensor) - 2-D Tensor,维度为 ``[N, local_num_classes]``,``logits`` 为归一化后的 ``X`` 与归一化后的 ``W`` 矩阵乘得到,数据类型为 float16,float32 或者 float64。如果用了模型并行,则 ``logits == shard_logits``。 - **label** (Tensor) - 维度为 ``[N]`` 或者 ``[N, 1]`` 的标签。 - **margin1** (float,可选) - 公式中的 ``m1``。默认值为 ``1.0``。 - **margin2** (float,可选) - 公式中的 ``m2``。默认值为 ``0.5``。 - **margin3** (float,可选) - 公式中的 ``m3``。默认值为 ``0.0``。 - **scale** (float,可选) - 公式中的 ``s``。默认值为 ``64.0``。 - **group** (Group,可选) - 通信组的抽象描述,具体可以参考 ``paddle.distributed.collective.Group``。默认值为 ``None``。 - - **return_softmax** (bool,可选) - 是否返回 ``softmax`` 概率值。默认值为 ``None``。 - - **reduction** (str,可选)- 是否对 ``loss`` 进行归约。可选值为 ``'none'`` | ``'mean'`` | ``'sum'``。如果 ``reduction='mean'``,则对 ``loss`` 进行平均,如果 ``reduction='sum'``,则对 ``loss`` 进行求和,``reduction='None'``,则直接返回 ``loss``。默认值为 ``'mean'``。 + - **return_softmax** (bool,可选) - 是否返回 ``softmax`` 概率值。默认值为 ``False``。 + - **reduction** (str,可选) - 是否对 ``loss`` 进行归约。可选值为 ``'none'`` | ``'mean'`` | ``'sum'``。如果 ``reduction='mean'``,则对 ``loss`` 进行平均,如果 ``reduction='sum'``,则对 ``loss`` 进行求和,``reduction='none'``,则直接返回 ``loss``。默认值为 ``'mean'``。 返回 :::::::::::: - - ``Tensor`` (``loss``) 或者 ``Tensor`` 二元组 (``loss``, ``softmax``) - 如果 ``return_softmax=False`` 返回 ``loss``,否则返回 (``loss``, ``softmax``)。当使用模型并行时 ``softmax == shard_softmax``,否则 ``softmax`` 的维度与 ``logits`` 相同。如果 ``reduction == None``,``loss`` 的维度为 ``[N, 1]``,否则为 ``[]``。 + - ``Tensor`` (``loss``) 或者 ``Tensor`` 二元组 (``loss``, ``softmax``) - 如果 ``return_softmax=False`` 返回 ``loss``,否则返回 (``loss``, ``softmax``)。当使用模型并行时 ``softmax == shard_softmax``,否则 ``softmax`` 的维度与 ``logits`` 相同。如果 ``reduction == 'none'``,``loss`` 的维度为 ``[N, 1]``,否则为 ``[]``。 代码示例 :::::::::::: diff --git a/docs/api/paddle/nn/functional/margin_ranking_loss_cn.rst b/docs/api/paddle/nn/functional/margin_ranking_loss_cn.rst index 08073d103a5..3496ad1086b 100644 --- a/docs/api/paddle/nn/functional/margin_ranking_loss_cn.rst +++ b/docs/api/paddle/nn/functional/margin_ranking_loss_cn.rst @@ -24,11 +24,11 @@ margin_ranking_loss 参数 :::::::: - - **input** (Tensor) - 第一个输入的 ``Tensor``,数据类型为:float32、float64。 - - **other** (Tensor) - 第二个输入的 ``Tensor``,数据类型为:float32、float64。 - - **label** (Tensor) - 训练数据的标签,数据类型为:float32、float64。 + - **input** (Tensor) - 第一个输入的 ``Tensor``,数据类型为:float32、float64。别名 ``input1``。 + - **other** (Tensor) - 第二个输入的 ``Tensor``,数据类型为:float32、float64。别名 ``input2``。 + - **label** (Tensor) - 训练数据的标签,数据类型为:float32、float64。别名 ``target``。 - **margin** (float,可选) - 用于加和的 margin 值,默认值为 0。 - - **reduction** (string,可选) - 指定应用于输出结果的计算方式,可选值有:``'none'`` 、 ``'mean'`` 、 ``'sum'``。如果设置为 ``'none'``,则直接返回 最原始的 ``margin_rank_loss``。如果设置为 ``'sum'``,则返回 ``margin_rank_loss`` 的总和。如果设置为 ``'mean'``,则返回 ``margin_rank_loss`` 的平均值。默认值为 ``'none'`` 。 + - **reduction** (string,可选) - 指定应用于输出结果的计算方式,可选值有:``'none'`` 、 ``'mean'`` 、 ``'sum'``。如果设置为 ``'none'``,则直接返回 最原始的 ``margin_rank_loss``。如果设置为 ``'sum'``,则返回 ``margin_rank_loss`` 的总和。如果设置为 ``'mean'``,则返回 ``margin_rank_loss`` 的平均值。默认值为 ``'mean'`` 。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/mish_cn.rst b/docs/api/paddle/nn/functional/mish_cn.rst index 815c14ea6fd..1901d1141cc 100644 --- a/docs/api/paddle/nn/functional/mish_cn.rst +++ b/docs/api/paddle/nn/functional/mish_cn.rst @@ -3,7 +3,7 @@ mish ------------------------------- -.. py:function:: paddle.nn.functional.mish(x, name=None) +.. py:function:: paddle.nn.functional.mish(x, inplace=False, name=None) mish 激活层。计算公式如下: @@ -20,6 +20,7 @@ mish 激活层。计算公式如下: 参数 :::::::::: - **x** (Tensor) - 输入的 ``Tensor``,数据类型为:float32、float64。别名 ``input``。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/normalize_cn.rst b/docs/api/paddle/nn/functional/normalize_cn.rst index 143772bd63f..dd0193d43b3 100644 --- a/docs/api/paddle/nn/functional/normalize_cn.rst +++ b/docs/api/paddle/nn/functional/normalize_cn.rst @@ -3,7 +3,7 @@ normalize ------------------------------- -.. py:function:: paddle.nn.functional.normalize(x, p=2, axis=1, epsilon=1e-12, name=None) +.. py:function:: paddle.nn.functional.normalize(x, p=2, axis=1, epsilon=1e-12, out=None, name=None) 使用 :math:`L_p` 范数沿维度 ``axis`` 对 ``x`` 进行归一化。计算公式如下: @@ -19,10 +19,11 @@ normalize 参数 ::::::::: - - **x** (Tensor) - 输入可以是 N-D Tensor。数据类型为:float32、float64。 + - **x** (Tensor) - 输入可以是 N-D Tensor。数据类型为:float32、float64。别名 ``input``。 - **p** (float|int,可选) - 范数公式中的指数值。默认值:2 - - **axis** (int,可选)- 要进行归一化的轴。如果 ``x`` 是 1-D Tensor,轴固定为 0。如果 ``axis < 0``,轴为 ``x.ndim + axis``。-1 表示最后一维。 - - **epsilon** (float,可选) - 添加到分母上的值以防止分母为 0。默认值为 1e-12。 + - **axis** (int,可选) - 要进行归一化的轴。如果 ``x`` 是 1-D Tensor,轴固定为 0。如果 ``axis < 0``,轴为 ``x.ndim + axis``。-1 表示最后一维。别名 ``dim``。 + - **epsilon** (float,可选) - 添加到分母上的值以防止分母为 0。默认值为 1e-12。别名 ``eps``。 + - **out** (Tensor,可选) - 输出 Tensor。默认值为 ``None``。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/one_hot_cn.rst b/docs/api/paddle/nn/functional/one_hot_cn.rst index a00b7dbf774..3e4f99b4331 100644 --- a/docs/api/paddle/nn/functional/one_hot_cn.rst +++ b/docs/api/paddle/nn/functional/one_hot_cn.rst @@ -3,7 +3,7 @@ one_hot ------------------------------- -.. py:function:: paddle.nn.functional.one_hot(x, num_classes, name=None) +.. py:function:: paddle.nn.functional.one_hot(x, num_classes=-1, name=None) 将输入'x'中的每个 id 转换为一个 one-hot 向量,其长度为 ``num_classes``,该 id 对应的向量维度上的值为 1,其余维度的值为 0。 输出的 Tensor 的 shape 是在输入 shape 的最后一维后面添加了 num_classes 的维度。 @@ -42,9 +42,8 @@ one_hot 参数 :::::::::::: - - **x** (Tensor) - 维度为 :math:`[N_1, ..., N_n]` 的多维 Tensor,维度至少 1 维。数据类型为 int32 或 int64。 - ``别名: input`` - - **num_classes** (int) - 用于定义一个 one-hot 向量的长度。若输入为词 id,则 ``num_classes`` 通常取值为词典大小,默认值为-1。 + - **x** (Tensor) - 维度为 :math:`[N_1, ..., N_n]` 的多维 Tensor,维度至少 1 维。数据类型为 int32 或 int64。别名: ``input`` + - **num_classes** (int,可选) - 用于定义一个 one-hot 向量的长度。若输入为词 id,则 ``num_classes`` 通常取值为词典大小,默认值为-1。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/rms_norm_cn.rst b/docs/api/paddle/nn/functional/rms_norm_cn.rst index 8320adcff87..476e0c342d6 100644 --- a/docs/api/paddle/nn/functional/rms_norm_cn.rst +++ b/docs/api/paddle/nn/functional/rms_norm_cn.rst @@ -3,23 +3,23 @@ rms_norm ------------------------------- -.. py:function:: paddle.nn.functional.rms_norm(x, normalized_shape, weight=None, epsilon=1e-05, name=None) +.. py:function:: paddle.nn.functional.rms_norm(input, normalized_shape, weight=None, eps=None, name=None) 对输入 Tensor 的最后一维应用 RMS Layer Normalization,使用 CUDA 实现。 参数 :::::::::::: - - **x** (Tensor) - 输入 Tensor,形状为 [rows, cols] 或更高维(会被展平为 2 维),数据类型为 bfloat16、float16、float32 或 float64。 + - **input** (Tensor) - 输入 Tensor,形状为 [rows, cols] 或更高维(会被展平为 2 维),数据类型为 bfloat16、float16、float32 或 float64。 - **normalized_shape** (list|tuple) - 期望输入的形状 :math:`[*, normalized_shape[0], normalized_shape[1], ..., normalized_shape[-1]]`。如果是一个整数,会对最后一维进行归一化,该维度的大小需为指定值。 - **weight** (Tensor,可选) - rms_norm 权重的 Tensor,默认为 None。 - - **epsilon** (float|None,可选) - 为了数值稳定加在分母上的小值。如果为 None,则使用计算类型的机器精度:``float64`` 输入使用 ``np.finfo(np.float64).eps``(双精度),其他所有类型使用 ``np.finfo(np.float32).eps``(单精度)。默认值:None。 + - **eps** (float|None,可选) - 为了数值稳定加在分母上的小值。如果为 None,则使用计算类型的机器精度:``float64`` 输入使用 ``np.finfo(np.float64).eps``(双精度),其他所有类型使用 ``np.finfo(np.float32).eps``(单精度)。默认值:None。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 :::::::::::: - out (Tensor) - 与输入形状相同的归一化 Tensor。 + out (Tensor) - 与输入 ``input`` 形状相同的归一化 Tensor。 代码示例 :::::::::::: diff --git a/docs/api/paddle/nn/functional/rrelu_cn.rst b/docs/api/paddle/nn/functional/rrelu_cn.rst index 0611ad2e89f..aa014a7412f 100644 --- a/docs/api/paddle/nn/functional/rrelu_cn.rst +++ b/docs/api/paddle/nn/functional/rrelu_cn.rst @@ -3,7 +3,7 @@ rrelu ------------------------------- -.. py:function:: paddle.nn.functional.rrelu(x, lower=1. / 8., upper=1. / 3., training=True, name=None) +.. py:function:: paddle.nn.functional.rrelu(x, lower=1. / 8., upper=1. / 3., training=True, inplace=False, name=None) rrelu 激活函数,应用随机纠正线性单元对神经元激活,参考论文: `Empirical Evaluation of Rectified Activations in Convolutional Network `_ 。 @@ -40,8 +40,9 @@ rrelu 激活函数,应用随机纠正线性单元对神经元激活,参考 :::::::::: - **x** (Tensor) - 输入的 ``Tensor``,数据类型为:float16、float32、float64。 - **lower** (float,可选) - 负值斜率的随机值范围下限,``lower`` 包含在范围中。支持的数据类型:float。默认值为 0.125。 - - **upper** (float,可选) - 负值斜率的随机值范围上限,``upper`` 包含在范围中。支持的数据类型:float。默认值为 0.333。 + - **upper** (float,可选) - 负值斜率的随机值范围上限,``upper`` 包含在范围中。支持的数据类型:float。默认值为 0.3333333333333333。 - **training** (bool,可选) - 标记是否为训练阶段。默认:True。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/scaled_dot_product_attention_cn.rst b/docs/api/paddle/nn/functional/scaled_dot_product_attention_cn.rst index a08d2009aa3..539d8fb38e9 100644 --- a/docs/api/paddle/nn/functional/scaled_dot_product_attention_cn.rst +++ b/docs/api/paddle/nn/functional/scaled_dot_product_attention_cn.rst @@ -3,7 +3,7 @@ scaled_dot_product_attention ------------------------------- -.. py:function:: paddle.nn.functional.scaled_dot_product_attention(query, key, value, attn_mask=None, dropout_p=0.0, is_causal=False, training=True, name=None) +.. py:function:: paddle.nn.functional.scaled_dot_product_attention(query, key, value, attn_mask=None, dropout_p=0.0, is_causal=False, training=True, backend=None, scale=None, enable_gqa=True, name=None) 计算公式为: .. math:: @@ -11,19 +11,28 @@ scaled_dot_product_attention 其中, ``Q``、``K`` 和 ``V`` 表示注意力模块的三个输入参数。这三个参数的尺寸相同。``d`` 表示三个参数中最后一个维度的大小。 .. warning:: - 此 API 仅支持数据类型为 float16 和 bfloat16 的输入。 + 此 API 仅对数据类型为 float16 和 bfloat16 的输入进行校验;其他数据类型可能回退到优化程度较低的 math 实现。 + +.. warning:: + 如果 ``is_causal`` 为 True,不应同时提供因果掩码;否则提供的掩码会被忽略。 + +.. note:: + 本 API 的 QKV 布局为 ``[batch_size, seq_len, num_heads, head_dim]`` 或 ``[seq_len, num_heads, head_dim]``。若需要 ``num_heads`` 位于 ``seq_len`` 之前的布局,请使用 ``paddle.compat.nn.functional.scaled_dot_product_attention``。 参数 :::::::::: - - **query** (Tensor) - 注意力模块中的查询张量。具有以下形状的四维张量:[batch_size, seq_len, num_heads, head_dim],或者三维张量:[seq_len, num_heads, head_dim]。数据类型可以是 float61 或 bfloat16。 - - **key** (Tensor) - 注意力模块中的关键张量。具有以下形状的四维张量:[batch_size, seq_len, num_heads, head_dim],或者三维张量:[seq_len, num_heads, head_dim]。数据类型可以是 float61 或 bfloat16。 - - **value** (Tensor) - 注意力模块中的值张量。具有以下形状的四维张量: [batch_size, seq_len, num_heads, head_dim],或者三维张量:[seq_len, num_heads, head_dim]。数据类型可以是 float61 或 bfloat16。 - - **attn_mask** (Tensor, 可选) - 与添加到注意力分数的 ``query``、 ``key``、 ``value`` 类型相同的浮点掩码, 默认值为空。 + - **query** (Tensor) - 注意力模块中的查询张量。具有以下形状的四维张量:[batch_size, seq_len, num_heads, head_dim],或者三维张量:[seq_len, num_heads, head_dim]。数据类型可以是 float16 或 bfloat16。 + - **key** (Tensor) - 注意力模块中的关键张量。具有以下形状的四维张量:[batch_size, seq_len, num_heads, head_dim],或者三维张量:[seq_len, num_heads, head_dim]。数据类型可以是 float16 或 bfloat16。 + - **value** (Tensor) - 注意力模块中的值张量。具有以下形状的四维张量: [batch_size, seq_len, num_heads, head_dim],或者三维张量:[seq_len, num_heads, head_dim]。数据类型可以是 float16 或 bfloat16。 + - **attn_mask** (Tensor, 可选) - 注意力掩码张量,形状应可广播到 ``[batch_size, num_heads, seq_len_key, seq_len_query]``。数据类型可以是 bool 或与 ``query`` 相同的数据类型。bool 掩码中的 True 表示该位置参与注意力计算;非 bool 掩码会被加到注意力分数上。默认值为 None。 - **dropout_p** (float) - ``dropout`` 的比例, 默认值为 0.00 即不进行正则化。 - **is_causal** (bool) - 是否启用因果关系, 默认值为 False 即不启用。 - **training** (bool): - 是否处于训练阶段, 默认值为 True 即处于训练阶段。 + - **backend** (str,可选) - 指定计算 scaled dot product attention 的后端。目前仅支持用于分布式场景的 ``"p2p"``。默认值为 None。 + - **scale** (float,可选) - 计算注意力权重时使用的缩放因子。为 None 时,使用 ``1 / sqrt(head_dim)``。默认值为 None。 + - **enable_gqa** (bool,可选) - 是否启用 GQA(Group Query Attention)模式。默认值为 True。 - **name** (str, 可选) - 默认值为 None。通常不需要用户设置此属性。欲了解更多信息, 请参阅:ref:`api_guide_Name`。 diff --git a/docs/api/paddle/nn/functional/selu_cn.rst b/docs/api/paddle/nn/functional/selu_cn.rst index 1310fa0961a..efaa73f2c8b 100644 --- a/docs/api/paddle/nn/functional/selu_cn.rst +++ b/docs/api/paddle/nn/functional/selu_cn.rst @@ -3,7 +3,7 @@ selu ------------------------------- -.. py:function:: paddle.nn.functional.selu(x, scale=1.0507009873554804934193349852946, alpha=1.6732632423543772848170429916717, name=None) +.. py:function:: paddle.nn.functional.selu(x, scale=1.0507009873554804934193349852946, alpha=1.6732632423543772848170429916717, inplace=False, name=None) selu 激活层 @@ -22,6 +22,7 @@ selu 激活层 - **x** (Tensor) - 输入的 ``Tensor``,数据类型为:float32、float64。 - **scale** (float,可选) - selu 激活计算公式中的 scale 值,必须大于 1.0。默认值为 1.0507009873554804934193349852946。 - **alpha** (float,可选) - selu 激活计算公式中的 alpha 值,必须大于等于零。默认值为 1.6732632423543772848170429916717。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/sigmoid_cn.rst b/docs/api/paddle/nn/functional/sigmoid_cn.rst index 95616dae4b6..6ed854c4d4f 100755 --- a/docs/api/paddle/nn/functional/sigmoid_cn.rst +++ b/docs/api/paddle/nn/functional/sigmoid_cn.rst @@ -3,7 +3,7 @@ sigmoid ------------------------------- -.. py:function:: paddle.nn.functional.sigmoid(x, name=None) +.. py:function:: paddle.nn.functional.sigmoid(x, name=None, *, out=None) @@ -16,13 +16,17 @@ sigmoid 激活函数 参数 ::::::::: - - **x** (Tensor) - 数据类型为 float16 、 float32 或 float64。激活函数的输入值。 + - **x** (Tensor) - 激活函数的输入值,数据类型为 bfloat16、float16、float32、float64、uint8、int8、int16、int32、int64、complex64 或 complex128。别名 ``input``。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 +关键字参数 +::::::::::: + - **out** (Tensor,可选) - 输出 Tensor,若不为 ``None``,计算结果将保存在该 Tensor 中,默认值为 ``None``。 + 返回 ::::::::: -Tensor,激活函数的输出值,数据类型为 float32。 +Tensor,激活函数的输出值,形状与输入相同;整数类型输入会自动转换为 float32。 代码示例 ::::::::: diff --git a/docs/api/paddle/nn/functional/sigmoid_focal_loss_cn.rst b/docs/api/paddle/nn/functional/sigmoid_focal_loss_cn.rst index e5a25a8e9c8..6984a7e7d5c 100644 --- a/docs/api/paddle/nn/functional/sigmoid_focal_loss_cn.rst +++ b/docs/api/paddle/nn/functional/sigmoid_focal_loss_cn.rst @@ -26,11 +26,11 @@ sigmoid_focal_loss 参数 ::::::::: - **logit** (Tensor) - 维度为 :math:`[N, *]`,其中 N 是 batch_size, ``*`` 是任意其他维度。输入数据 ``logit`` 一般是卷积层的输出,不需要经过 ``sigmoid`` 层。数据类型是 float32、float64。 - - **label** (Tensor) - 维度为 :math:`[N, *]`,标签 ``label`` 的维度、数据类型与输入 ``logit`` 相同,取值范围 :math:`[0,1]`。数据类型是 float32、float64。 + - **label** (Tensor) - 维度为 :math:`[N, *]`,标签 ``label`` 的维度、数据类型与输入 ``logit`` 相同,取值范围 :math:`[0, 1]`。数据类型是 float32、float64。 - **normalizer** (Tensor,可选) - 维度为 :math:`[1]`,focal loss 的归一化系数,数据类型与输入 ``logit`` 相同。若设置为 None,则不会将 focal loss 做归一化操作(即不会将 focal loss 除以 normalizer)。在目标检测任务中,设置为正样本的数量。默认值为 None。 - - **alpha** (int|float,可选) - 用于平衡正样本和负样本的超参数,取值范围 :math:`[0,1]`。默认值设置为 0.25。 + - **alpha** (int|float,可选) - 用于平衡正样本和负样本的超参数,取值范围 :math:`[0, 1]`。默认值设置为 0.25。 - **gamma** (int|float,可选) - 用于平衡易分样本和难分样本的超参数,默认值设置为 2.0。 - - **reduction** (str,可选) - 指定应用于输出结果的计算方式,可选值有:``'none'``, ``'mean'``, ``'sum'``。默认为 ``'mean'``,计算 ``focal loss`` 的均值;设置为 ``'sum'`` 时,计算 ``focal loss`` 的总和;设置为 ``'none'`` 时,则返回原始 loss。 + - **reduction** (str,可选) - 指定应用于输出结果的计算方式,可选值有:``'none'``, ``'mean'``, ``'sum'``。默认为 ``'sum'``,计算 ``focal loss`` 的总和;设置为 ``'mean'`` 时,计算 ``focal loss`` 的均值;设置为 ``'none'`` 时,则返回原始 loss。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/silu_cn.rst b/docs/api/paddle/nn/functional/silu_cn.rst index 041b58f7e71..ca573cdc00e 100644 --- a/docs/api/paddle/nn/functional/silu_cn.rst +++ b/docs/api/paddle/nn/functional/silu_cn.rst @@ -3,7 +3,7 @@ silu ------------------------------- -.. py:function:: paddle.nn.functional.silu(x, name=None) +.. py:function:: paddle.nn.functional.silu(x, inplace=False, name=None) silu 激活层。计算公式如下: @@ -21,6 +21,7 @@ silu 激活层。计算公式如下: - **x** (Tensor) - 输入的 ``Tensor``,数据类型为 bfloat16 、 float16 、 float32 、 float64 、 complex64 或 complex128 。别名 ``input``。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/sparse_attention_cn.rst b/docs/api/paddle/nn/functional/sparse_attention_cn.rst index 46e0edde37e..72a41cf5266 100755 --- a/docs/api/paddle/nn/functional/sparse_attention_cn.rst +++ b/docs/api/paddle/nn/functional/sparse_attention_cn.rst @@ -3,7 +3,7 @@ sparse_attention ------------------------------- -.. py:function:: paddle.nn.functional.sparse_attention(query, key, value, sparse_csr_offset, sparse_csr_columns, name=None) +.. py:function:: paddle.nn.functional.sparse_attention(query, key, value, sparse_csr_offset, sparse_csr_columns, key_padding_mask=None, attn_mask=None, name=None) 对 Transformer 模块中的 Attention 矩阵进行了稀疏化,从而减少内存消耗和计算量。 @@ -25,6 +25,9 @@ sparse_attention - **value** (Tensor) - 输入的 Tensor,代表注意力模块中的 ``value``,这是一个 4 维 Tensor,形状为:[batch_size, num_heads, seq_len, head_dim],数据类型为 float32 或 float64。 - **sparse_csr_offset** (Tensor) - 输入的 Tensor,注意力模块中的稀疏特性,稀疏特性使用 CSR 格式表示,``offset`` 代表矩阵中每一行非零元的数量。这是一个 3 维 Tensor,形状为:[batch_size, num_heads, seq_len + 1],数据类型为 int32。 - **sparse_csr_columns** (Tensor) - 输入的 Tensor,注意力模块中的稀疏特性,稀疏特性使用 CSR 格式表示,``columns`` 代表矩阵中每一行非零元的列索引值。这是一个 3 维 Tensor,形状为:[batch_size, num_heads, sparse_nnz],数据类型为 int32。 + - **key_padding_mask** (Tensor|None,可选) - 注意力模块中的 key padding mask Tensor,形状为 [batch_size, seq_len],数据类型为 float32 或 float64。值为 0 表示该位置被遮蔽。默认值为 None。 + - **attn_mask** (Tensor|None,可选) - 注意力模块中的 attention mask Tensor,形状为 [seq_len, seq_len],数据类型为 float32 或 float64。值为 0 表示该位置被遮蔽。默认值为 None。 + - **name** (str|None,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 ::::::::: diff --git a/docs/api/paddle/nn/functional/swish_cn.rst b/docs/api/paddle/nn/functional/swish_cn.rst index d7f0d4b2dc0..329317b8d84 100644 --- a/docs/api/paddle/nn/functional/swish_cn.rst +++ b/docs/api/paddle/nn/functional/swish_cn.rst @@ -3,7 +3,7 @@ swish ------------------------------- -.. py:function:: paddle.nn.functional.swish(x, name=None) +.. py:function:: paddle.nn.functional.swish(x, inplace=False, name=None) swish 激活层。计算公式如下: @@ -17,6 +17,7 @@ swish 激活层。计算公式如下: 参数 :::::::::: - **x** (Tensor) - 输入的 ``Tensor``,数据类型为:float32、float64。 + - **inplace** (bool,可选) - 是否使用原地操作。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/functional/upsample_cn.rst b/docs/api/paddle/nn/functional/upsample_cn.rst index 4e602d8dd2f..ea6cc1ab147 100644 --- a/docs/api/paddle/nn/functional/upsample_cn.rst +++ b/docs/api/paddle/nn/functional/upsample_cn.rst @@ -59,8 +59,8 @@ Align_corners 和 align_mode 是可选参数,插值的计算方法可以由它 input : (N,C,H_in,W_in) output: (N,C,H_out,W_out) where: - H_out = \left \lfloor {H_{in} * scale_{}factor}} \right \rfloor - W_out = \left \lfloor {W_{in} * scale_{}factor}} \right \rfloor + H_out = \left \lfloor {H_{in} * scale_{factor}} \right \rfloor + W_out = \left \lfloor {W_{in} * scale_{factor}} \right \rfloor Bilinear interpolation: @@ -141,11 +141,11 @@ https://en.wikipedia.org/wiki/Bicubic_interpolation :::::::::::: - **x** (Tensor) - 3-D,4-D 或 5-D Tensor,数据类型为 float32、float64 或 uint8,其数据格式由参数 ``data_format`` 指定。如果没有指定 ``data_format`` 参数,其数据格式将由维度决定,具体请参照 ``data_format`` 参数。 - - **size** (list|tuple|Tensor|None) - 输出 Tensor,输入为 4D Tensor 时,形状为为(out_h, out_w)的 2-D Tensor。输入为 5-D Tensor 时,形状为(out_d, out_h, out_w)的 3-D Tensor。如果 :code:`out_shape` 是列表,每一个元素可以是整数或者形状为[]的变量。如果 :code:`out_shape` 是变量,则其维度大小为 1。默认值为 None。 - - **scale_factor** (float|Tensor|list|tuple|None)-输入的高度或宽度的乘数因子。out_shape 和 scale 至少要设置一个。out_shape 的优先级高于 scale。默认值为 None。如果 scale_factor 是一个 list 或 tuple,它必须与输入的 shape 匹配。 + - **size** (list|tuple|Tensor|None) - 输出图像缩放层的形状。输入为 3-D Tensor 时,形状为 ``(out_w,)``;输入为 4-D Tensor 时,形状为 ``(out_h, out_w)``;输入为 5-D Tensor 时,形状为 ``(out_d, out_h, out_w)``。如果 ``size`` 是列表或元组,每个元素可以是整数或形状为 ``[1]`` 或 ``[]`` 的 Tensor;如果 ``size`` 是 Tensor,其维度大小应为 1。默认值为 None。 + - **scale_factor** (float|Tensor|list|tuple|None) - 输入高度、宽度或深度的乘数因子。``size`` 和 ``scale_factor`` 至少要设置一个,且 ``size`` 的优先级高于 ``scale_factor``。如果 ``scale_factor`` 是列表、元组或 Tensor,其长度必须与输入的空间维度数匹配;列表或元组中的每个元素可以是整数或形状为 ``[1]`` 或 ``[]`` 的 Tensor。默认值为 None。 - **mode** (str,可选) - 插值方法。支持"bilinear"或"trilinear"或"nearest"或"bicubic"或"linear"或"area"。默认值为"nearest"。 - - **align_mode** (int,可选)- 双线性插值的可选项。可以是 '0' 代表 src_idx = scale *(dst_index + 0.5)-0.5;如果为'1',代表 src_idx = scale * dst_index。 - - **align_corners** (bool,可选) - 一个可选的 bool 型参数,如果为 True,则将输入和输出 Tensor 的 4 个角落像素的中心对齐,并保留角点像素的值。默认值为 True + - **align_corners** (bool,可选) - 一个可选的 bool 型参数,如果为 True,则将输入和输出 Tensor 的 4 个角落像素的中心对齐,并保留角点像素的值。默认值为 False。 + - **align_mode** (int,可选)- linear、bilinear 或 trilinear 插值的可选项。可以是 '0' 代表 src_idx = scale_factor *(dst_index + 0.5)-0.5;如果为 '1',代表 src_idx = scale_factor * dst_index。 - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致。支持的值有:"NCW"、"NWC"、"NCHW"、"NHWC"、"NCDHW"、"NDHWC"。默认值为 None,此时若输入是 3-D Tensor, ``data_format`` 将默认为"NCW";若输入是 4—D Tensor, 将默认为"NCHW";若输入是 5—D Tensor, 将默认为"NCDHW"。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 diff --git a/docs/api/paddle/nn/quant/weight_only_linear_cn.rst b/docs/api/paddle/nn/quant/weight_only_linear_cn.rst index 8a156888e38..ed283ba12bc 100644 --- a/docs/api/paddle/nn/quant/weight_only_linear_cn.rst +++ b/docs/api/paddle/nn/quant/weight_only_linear_cn.rst @@ -3,7 +3,7 @@ weight_only_linear ------------------------------- -.. py:function:: paddle.nn.quant.weight_only_linear(x, weight, bias=None, weight_scale=None, weight_dtype='int8', arch=None) +.. py:function:: paddle.nn.quant.weight_only_linear(x, weight, bias=None, weight_scale=None, weight_dtype='int8', arch=None, group_size=-1) 应用两个张量的矩阵乘法。若提供了偏置,则进行偏置加法。 @@ -17,6 +17,7 @@ weight_only_linear - **weight_scale** (Tensor|None) - 提供给权重的输入比例张量,用于反量化。其秩必须为 1。 - **weight_dtype** (str) - 权重张量的数据类型,必须是 'int8', 'int4' 之一,默认为 'int8'。 - **arch** (int) - 针对目标设备的计算架构。例如,A100 为 80,v100 为 70,如果您没有指定架构,我们将从您的设备获取架构,默认为 None。 + - **group_size** (int) - 权重量化的分组大小。-1 表示默认的逐通道模式;目前仅支持 64 或 128。 返回 :::::::::::: diff --git a/docs/api/paddle/nn/quant/weight_quantize_cn.rst b/docs/api/paddle/nn/quant/weight_quantize_cn.rst index 64f92d86d51..4bd7ad5ff97 100644 --- a/docs/api/paddle/nn/quant/weight_quantize_cn.rst +++ b/docs/api/paddle/nn/quant/weight_quantize_cn.rst @@ -2,15 +2,16 @@ weight_quantize ------------------------------- -.. py:function:: paddle.nn.quant.weight_quantize(x, algo='weight_only_int8', arch=None) +.. py:function:: paddle.nn.quant.weight_quantize(x, algo='weight_only_int8', arch=None, group_size=-1) weight_only 和 llm.int8 权重的量化函数。 参数 :::::::::::: - **x** (Tensor) - 待量化的输入张量,数据类型为 float16 或 bfloat16。 - - **algo** (str) - 应用于 x 的算法,必须是 '``weight_only_int8``'、'``weight_only_int4``' 和 '``llm.int8``' 中的一个,默认为 '``weight_only_int8``'。 + - **algo** (str) - 应用于 x 的算法,必须是 '``weight_only_int8``'、'``weight_only_int4``'、'``llm.int8``'、'``w4a8``' 和 '``w4afp8``' 中的一个,默认为 '``weight_only_int8``'。 - **arch** (int) - 针对目标设备的计算架构。例如,A100 为 80,v100 为 70,如果您没有指定架构,我们将从您的设备获取架构,默认为 None。 + - **group_size** (int) - 权重量化的分组大小。-1 表示默认的逐通道模式;目前仅支持 64 或 128。 返回 :::::::::::: diff --git a/docs/api/paddle/optimizer/lr/CyclicLR_cn.rst b/docs/api/paddle/optimizer/lr/CyclicLR_cn.rst index 65c73a7aff3..518b5aa2f28 100644 --- a/docs/api/paddle/optimizer/lr/CyclicLR_cn.rst +++ b/docs/api/paddle/optimizer/lr/CyclicLR_cn.rst @@ -22,9 +22,9 @@ CyclicLR - **max_learning_rate** (float) - 最大学习率,需要注意的是,实际的学习率由 ``base_learning_rate`` 与初始幅度的缩放求和而来,因此实际学习率可能达不到 ``max_learning_rate`` 。 - **step_size_up** (int) - 学习率从初始学习率增长到最大学习率所需步数。每个循环总的步长 ``step_size`` 由 ``step_size_up + step_size_down`` 定义,论文中建议将 ``step_size`` 设置为单个 epoch 中步长的 3 或 4 倍。 - **step_size_down** (int,可选) - 学习率从最大学习率下降到初始学习率所需步数。若未指定,则其值默认等于 ``step_size_up`` 。 - - **mode** (str,可选) - 可以是 triangular、triangular2 或者 exp_range,对应策略已在上文描述,当 scale_fn 被指定时时,该参数将被忽略。默认值为 triangular。 + - **mode** (str,可选) - 可以是 triangular、triangular2 或者 exp_range,对应策略已在上文描述,当 scale_fn 被指定时,该参数将被忽略。默认值为 triangular。 - **exp_gamma** (float,可选) - exp_range 缩放函数中的常量。默认值为 1.0。 - - **scale_fn** (function,可选) - 一个有且仅有单个参数的函数,且对于任意的输入 x,都必须满足 0 ≤ scale_fn(x) ≤ 1;如果该参数被指定,则会忽略 mode 参数。默认值为 ``False`` 。 + - **scale_fn** (function,可选) - 一个有且仅有单个参数的函数,且对于任意的输入 x,都必须满足 0 ≤ scale_fn(x) ≤ 1;如果该参数被指定,则会忽略 mode 参数。默认值为 ``None`` 。 - **scale_mode** (str,可选) - cycle 或者 iterations,表示缩放函数使用 cycle 数或 iterations 数作为输入。默认值为 cycle。 - **last_epoch** (int,可选) - 上一轮的轮数,重启训练时设置为上一轮的 epoch 数。默认值为 -1,则为初始学习率。 - **verbose** (bool,可选) - 如果是 ``True``,则在每一轮更新时在标准输出 ``stdout`` 输出一条信息。默认值为 ``False`` 。 diff --git a/docs/api/paddle/optimizer/lr/LinearWarmup_cn.rst b/docs/api/paddle/optimizer/lr/LinearWarmup_cn.rst index fbf8754ad37..41c491823fb 100644 --- a/docs/api/paddle/optimizer/lr/LinearWarmup_cn.rst +++ b/docs/api/paddle/optimizer/lr/LinearWarmup_cn.rst @@ -20,12 +20,12 @@ LinearWarmup lr = learning\_rate -其中 learning_rate 为热身之后的学习率,可以是 python 的 float 类型或者 ``_LRScheduler`` 的任意子类。 +其中 learning_rate 为热身之后的学习率,可以是 python 的 float 类型或者 ``LRScheduler`` 的任意子类。 参数 :::::::::::: - - **learning rate** (float|_LRScheduler) - 热启训练之后的学习率,可以是 python 的 float 类型或者 ``_LRScheduler`` 的任意子类。 + - **learning_rate** (float|LRScheduler) - 热启训练之后的学习率,可以是 python 的 float 类型或者 ``LRScheduler`` 的任意子类。 - **warmup_steps** (int) - 进行 warm up 过程的步数。 - **start_lr** (float) - warm up 的起始学习率。 - **end_lr** (float) - warm up 的最终学习率。 diff --git a/docs/api/paddle/optimizer/lr/NaturalExpDecay_cn.rst b/docs/api/paddle/optimizer/lr/NaturalExpDecay_cn.rst index 8b521b501bc..05957c0835b 100644 --- a/docs/api/paddle/optimizer/lr/NaturalExpDecay_cn.rst +++ b/docs/api/paddle/optimizer/lr/NaturalExpDecay_cn.rst @@ -3,7 +3,7 @@ NaturalExpDecay ------------------------------- -.. py:class:: paddle.optimizer.lr.NaturalExpDecay(learning_rate, gama, last_epoch=-1, verbose=False) +.. py:class:: paddle.optimizer.lr.NaturalExpDecay(learning_rate, gamma, last_epoch=-1, verbose=False) 该接口提供按自然指数衰减学习率的策略。 @@ -17,7 +17,7 @@ NaturalExpDecay :::::::::::: - **learning_rate** (float) - 初始学习率,数据类型为 Python float。 - - **gamma** (float) - 衰减率,gamma 应该大于 0.0,才能使学习率衰减。默认值为 0.1。 + - **gamma** (float) - 衰减率,gamma 应该大于 0.0,才能使学习率衰减。 - **last_epoch** (int,可选) - 上一轮的轮数,重启训练时设置为上一轮的 epoch 数。默认值为 -1,则为初始学习率。 - **verbose** (bool,可选) - 如果是 ``True``,则在每一轮更新时在标准输出 ``stdout`` 输出一条信息。默认值为 ``False`` 。 diff --git a/docs/api/paddle/optimizer/lr/NoamDecay_cn.rst b/docs/api/paddle/optimizer/lr/NoamDecay_cn.rst index 375144e0db8..07f4a970416 100644 --- a/docs/api/paddle/optimizer/lr/NoamDecay_cn.rst +++ b/docs/api/paddle/optimizer/lr/NoamDecay_cn.rst @@ -19,7 +19,7 @@ Noam 衰减的计算方式如下: 参数 :::::::::::: - - **d$_{model}$** (int) - 模型的输入、输出向量特征维度,为超参数。数据类型为 Python int。 + - **d_model** (int) - 模型的输入、输出向量特征维度,为超参数。数据类型为 Python int。 - **warmup_steps** (int) - 预热步数,为超参数。数据类型为 Python int。 - **learning_rate** (float) - 初始学习率,数据类型为 Python float。默认值为 1.0。 - **last_epoch** (int,可选) - 上一轮的轮数,重启训练时设置为上一轮的 epoch 数。默认值为 -1,则为初始学习率。 diff --git a/docs/api/paddle/profiler/Profiler_cn.rst b/docs/api/paddle/profiler/Profiler_cn.rst index afadc86121d..eda5923d07d 100644 --- a/docs/api/paddle/profiler/Profiler_cn.rst +++ b/docs/api/paddle/profiler/Profiler_cn.rst @@ -3,19 +3,20 @@ Profiler --------------------- -.. py:class:: paddle.profiler.Profiler(*, targets: Optional[Iterable[ProfilerTarget]]=None, scheduler: Union[Callable[[int], ProfilerState], tuple, None]=None, on_trace_ready: Optional[Callable[..., Any]]=None, record_shapes: Optional[bool] = False, profile_memory: Optional[bool] = False, timer_only: Optional[bool]=False, custom_device_types: Optional[list] = [], with_flops: Optional[bool] = False) +.. py:class:: paddle.profiler.Profiler(*, targets=None, scheduler=None, on_trace_ready=None, record_shapes=False, profile_memory=False, timer_only=False, emit_nvtx=False, custom_device_types=[], with_flops=False) 性能分析器,该类负责管理性能分析的启动、关闭,以及性能数据的导出和统计分析。 -参数 +关键字参数 ::::::::: - - **targets** (list,可选) - 指定性能分析所要分析的设备,默认会自动分析所有存在且支持的设备,当前支持 CPU,GPU 和 MLU(可选值见 :ref:`ProfilerState ` )。 + - **targets** (list,可选) - 指定性能分析所要分析的设备,默认会自动分析所有存在且支持的设备,当前支持 CPU、GPU 和 XPU(可选值见 :ref:`ProfilerTarget ` )。 - **scheduler** (Callable|tuple,可选) - 如果是 Callable 对象,代表是性能分析器状态的调度器,该调度器会接受一个 step_num 参数并返回相应的状态(详情见 :ref:`状态说明 ` ),可以通过 :ref:`make_scheduler ` 接口生成调度器。如果没有设置这个参数(None),默认的调度器会一直让性能分析器保持 RECORD 状态到结束。如果是 tuple 类型,有两个值 start_batch 和 end_batch,则会在[start_batch, end_batch)(前闭后开区间)内处于 RECORD 状态进行性能分析。 - **on_trace_ready** (Callable,可选) - 处理性能分析器的回调函数,该回调函数接受 Profiler 对象作为参数,提供了一种自定义后处理的方式。当性能分析器处于 RECORD_AND_RETURN 状态或者结束时返回性能数据,将会调用该回调函数进行处理,默认为 :ref:`export_chrome_tracing ` (./profiler_log/)。 - **record_shapes** (bool,可选) - 如果设置为 True, 则会开启收集框架算子输入 Tensor 的 shape,默认为 False。 - **profile_memory** (bool,可选) - 如果设置为 True, 则会开启收集显存分析的数据,默认为 False。 - **timer_only** (bool,可选) - 如果设置为 True,将只统计模型的数据读取和每一个迭代所消耗的时间,而不进行性能分析。否则,模型将被计时,同时进行性能分析。默认值:False。 + - **emit_nvtx** (bool,可选) - 是否发出 NVTX 标记。默认值为 False。 - **custom_device_types** (list,可选) - 如果 targets 包含 profiler.ProfilerTarget.CUSTOM_DEVICE,custom_device_types 选择进行性能分析的设备类型,默认值为空表示所有自定义设备。 - **with_flops** (bool,可选) - 如果设置为 True,则会开启收集相关数据计算 FLOPs 指标。默认值:False。 @@ -86,8 +87,8 @@ step(num_samples: Optional[int]=None) COPY-FROM: paddle.profiler.Profiler.step:code-example6 -step_info(unit: Optional[int]=None) -''''''''' +step_info(unit: Optional[str]=None) +'''''''''''''''''''''''''''''''''''''''' 获取当前迭代的统计信息。如果以特定的迭代间隔调用该方法,则结果是上一次调用和本次调用之间所有迭代的平均值。统计信息如下: diff --git a/docs/api/paddle/profiler/RecordEvent_cn.rst b/docs/api/paddle/profiler/RecordEvent_cn.rst index a3b898fc473..af089c818de 100644 --- a/docs/api/paddle/profiler/RecordEvent_cn.rst +++ b/docs/api/paddle/profiler/RecordEvent_cn.rst @@ -3,7 +3,7 @@ RecordEvent --------------------- -.. py:class:: paddle.profiler.RecordEvent(name: str, event_type: TracerEventType=TracerEventType.UserDefined) +.. py:class:: paddle.profiler.RecordEvent(name, event_type=TracerEventType.PythonUserDefined) 用于用户自定义打点,记录某一段代码运行的时间。 @@ -12,7 +12,7 @@ RecordEvent ::::::::: - **name** (str) - 记录打点的名字。 - - **event_type** (TracerEventType,可选) - 可选参数,默认值为 TracerEventType.UserDefined。该参数预留为内部使用,最好不要指定该参数。 + - **event_type** (TracerEventType,可选) - 可选参数,默认值为 TracerEventType.PythonUserDefined。该参数预留为内部使用,最好不要指定该参数。 代码示例 :::::::::: diff --git a/docs/api/paddle/profiler/load_profiler_result_cn.rst b/docs/api/paddle/profiler/load_profiler_result_cn.rst index 8e84ed15d9f..a002e086393 100644 --- a/docs/api/paddle/profiler/load_profiler_result_cn.rst +++ b/docs/api/paddle/profiler/load_profiler_result_cn.rst @@ -3,14 +3,14 @@ load_profiler_result ------------------------------- -.. py:function:: paddle.profiler.load_profiler_result(file_name: str) +.. py:function:: paddle.profiler.load_profiler_result(filename) 载入所保存到 protobuf 文件的性能数据到内存。 参数 ::::::::: - - **file_name** (str) - protobuf 格式的性能数据文件路径。 + - **filename** (str) - protobuf 格式的性能数据文件路径。 返回 ::::::::: diff --git a/docs/api/paddle/put_along_axis__cn.rst b/docs/api/paddle/put_along_axis__cn.rst index 8a1b1df876c..424ce4c1e80 100644 --- a/docs/api/paddle/put_along_axis__cn.rst +++ b/docs/api/paddle/put_along_axis__cn.rst @@ -3,9 +3,9 @@ put_along_axis\_ ------------------------------- -.. py:function:: paddle.put_along_axis_(indices, values, axis, reduce='assign', include_self=True, broadcast=True) +.. py:function:: paddle.put_along_axis_(arr, indices, values, axis, reduce='assign', include_self=True, broadcast=True) -Inplace 版本的 :ref:`cn_api_paddle_put_along_axis` API,对输入 ``x`` 采用 Inplace 策略。 +Inplace 版本的 :ref:`cn_api_paddle_put_along_axis` API,对输入 ``arr`` 采用 Inplace 策略。 更多关于 inplace 操作的介绍请参考 `3.1.3 原位(Inplace)操作和非原位操作的区别`_ 了解详情。 diff --git a/docs/api/paddle/sparse/nn/BatchNorm_cn.rst b/docs/api/paddle/sparse/nn/BatchNorm_cn.rst index b6bb6dc0215..6f50d2a3e0f 100644 --- a/docs/api/paddle/sparse/nn/BatchNorm_cn.rst +++ b/docs/api/paddle/sparse/nn/BatchNorm_cn.rst @@ -6,7 +6,7 @@ BatchNorm .. py:class:: paddle.sparse.nn.BatchNorm(num_features, momentum=0.9, epsilon=1e-05, weight_attr=None, bias_attr=None, data_format="NDHWC", use_global_stats=None, name=None) -构建稀疏 ``BatchNorm`` 类的一个可调用对象,具体用法参照 ``代码示例`` 。可以处理 4D SparseCooTensor ,实现了批归一化层(Batch Normalization Layer)的功能,可用作卷积和全连接操作的批归一化函数,根据当前批次数据按通道计算的均值和方差进行归一化。更多详情请参考: `Batch Normalization : Accelerating Deep Network Training by Reducing Internal Covariate Shift `_ 。 +构建稀疏 ``BatchNorm`` 类的一个可调用对象,具体用法参照 ``代码示例`` 。可处理 NHWC 格式的 4-D 或 NDHWC 格式的 5-D SparseCooTensor,实现了批归一化层(Batch Normalization Layer)的功能,可用作卷积和全连接操作的批归一化函数,根据当前批次数据按通道计算的均值和方差进行归一化。更多详情请参考: `Batch Normalization : Accelerating Deep Network Training by Reducing Internal Covariate Shift `_ 。 当 use_global_stats = False 时 :math:`\mu_{\beta}` 和 :math:`\sigma_{\beta}^{2}` 是 minibatch 的统计数据。计算公式如下: @@ -43,9 +43,9 @@ BatchNorm - **momentum** (float,可选) - 此值用于计算 ``moving_mean`` 和 ``moving_var`` 。默认值:0.9。更新公式如上所示。 - **epsilon** (float,可选) - 为了数值稳定加在分母上的值。默认值:1e-05。 - **weight_attr** (ParamAttr|bool,可选) - 指定权重参数属性的对象。如果为 False,则表示每个通道的伸缩固定为 1,不可改变。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - - **bias_attr** (ParamAttr,可选) - 指定偏置参数属性的对象。如果为 False,则表示每一个通道的偏移固定为 0,不可改变。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - - **data_format** (string,可选) - 指定输入数据格式,数据格式可以为“NCDHW"。默认值:“NCDHW”。 - - **use_global_stats** (bool,可选) – 指示是否使用全局均值和方差。在预测或测试模式下,将 ``use_global_stats`` 设置为 true 或将 ``is_test`` 设置为 true,这两种行为是等效的。在训练模式中,当设置 ``use_global_stats`` 为 True 时,在训练期间也将使用全局均值和方差。默认值:False。 + - **bias_attr** (ParamAttr|bool,可选) - 指定偏置参数属性的对象。如果为 False,则表示每一个通道的偏移固定为 0,不可改变。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 + - **data_format** (string,可选) - 指定输入数据格式,数据格式可以为 ``"NDHWC"`` 或 ``"NHWC"``。默认值为 ``"NDHWC"``。 + - **use_global_stats** (bool|None,可选) – 指示是否使用全局均值和方差。若为 False,使用一个 mini-batch 的统计数据;若为 True,使用全局统计数据;若为 None,则在预测阶段使用全局统计数据、在训练阶段使用一个 mini-batch 的统计数据。默认值为 None。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为 None。 @@ -56,8 +56,8 @@ BatchNorm 形状 :::::::::::: - - input:形状为(批大小,维度,高度,宽度,通道数)的 5-D SparseCooTensor。 - - output:和输入形状一样。 + - input:NDHWC 格式的 5-D 或 NHWC 格式的 4-D SparseCooTensor。 + - output:与输入具有相同形状和布局的 SparseCooTensor。 代码示例 :::::::::::: diff --git a/docs/api/paddle/sparse/nn/Conv2D_cn.rst b/docs/api/paddle/sparse/nn/Conv2D_cn.rst index 4e7dfac3aff..f0000ebe5b4 100644 --- a/docs/api/paddle/sparse/nn/Conv2D_cn.rst +++ b/docs/api/paddle/sparse/nn/Conv2D_cn.rst @@ -33,7 +33,7 @@ Conv2D - **in_channels** (int) - 输入图像的通道数。 - **out_channels** (int) - 由卷积操作产生的输出的通道数。 - **kernel_size** (int|list|tuple) - 卷积核大小。 - - **stride** (int|list|tuple,可选) - 步长大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积沿着深度,高和宽的步长。如果为单个整数,表示沿着高和宽的步长都等于该整数。默认值:1。 + - **stride** (int|list|tuple,可选) - 步长大小。可以为单个整数或包含两个整数的元组或列表,分别表示卷积沿着高和宽的步长。如果为单个整数,表示沿着高和宽的步长都等于该整数。默认值:1。 - **padding** (int|str|tuple|list,可选) - 填充大小。填充可以是以下形式之一: 1. 字符串 ['valid', 'same']。 @@ -43,12 +43,12 @@ Conv2D 5. 成对整数的列表或元组。形式为 [[pad_before, pad_after], [pad_before, pad_after], ...]。 注意,批量维度和通道维度也包括在内。每对整数对应输入的一个维度的填充量。批量维度和通道维度的填充应为 [0, 0] 或 (0, 0)。默认值为 0。 - - **dilation** (int|list|tuple,可选) - 空洞大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积核中的元素沿着深度,高和宽的空洞。如果为单个整数,表示深度,高和宽的空洞都等于该整数。默认值:1。 - - **groups** (int,可选) - 二维卷积层的组数。根据 Alex Krizhevsky 的深度卷积神经网络(CNN)论文中的成组卷积:当 group=n,输入和卷积核分别根据通道数量平均分为 n 组,第一组卷积核和第一组输入进行卷积计算,第二组卷积核和第二组输入进行卷积计算,……,第 n 组卷积核和第 n 组输入进行卷积计算。默认值:1。 - - **padding_mode** (str,可选) - 填充模式。包括 ``'zeros'``, ``'reflect'``, ``'replicate'`` 或者 ``'circular'``。默认值:``'zeros'`` 。 + - **dilation** (int|list|tuple,可选) - 空洞大小。可以为单个整数或包含两个整数的元组或列表,分别表示卷积核中的元素沿着高和宽的空洞。如果为单个整数,表示高和宽的空洞都等于该整数。默认值:1。 + - **groups** (int,可选) - 卷积层的组数。当前仅支持 ``groups=1``。默认值:1。 + - **padding_mode** (str,可选) - 填充模式。当前仅支持 ``'zeros'``。默认值:``'zeros'`` 。 - **weight_attr** (ParamAttr,可选) - conv2d 的可学习参数/权重的参数属性。如果设置为 None 或 ParamAttr 的一个属性,conv2d 将创建 ParamAttr 作为 param_attr。如果设置为 None,则参数初始化为 :math:`Normal(0.0, std)`,:math:`std` 为 :math:`(\frac{2.0 }{filter\_elem\_num})^{0.5}`。默认值为 None。 - **bias_attr** (ParamAttr|bool,可选) - conv2d 的偏置参数属性。如果设置为 False,则不会在输出单元中添加偏置。如果设置为 None 或 ParamAttr 的一个属性,conv2d 将创建 ParamAttr 作为 bias_attr。如果 bias_attr 的初始化器未设置,则偏置初始化为零。默认值为 None。 - - **data_format** (str,可选) - 指定输入的数据格式。可以是 "NCHW" 或 "NHWC"。目前仅支持 "NHWC"。N 是批尺寸,C 是通道数,D 是特征深度,H 是特征高度,W 是特征宽度。默认值:"NDHWC"。 当前只支持"NDHWC"。 + - **data_format** (str,可选) - 指定输入的数据格式。当前仅支持 "NHWC"。N 是批尺寸,C 是通道数,H 是特征高度,W 是特征宽度。默认值:"NHWC"。 属性 diff --git a/docs/api/paddle/sparse/nn/MaxPool3D_cn.rst b/docs/api/paddle/sparse/nn/MaxPool3D_cn.rst index 99391a3e7ff..62a0e0d6c8e 100644 --- a/docs/api/paddle/sparse/nn/MaxPool3D_cn.rst +++ b/docs/api/paddle/sparse/nn/MaxPool3D_cn.rst @@ -3,26 +3,26 @@ MaxPool3D ------------------------------- -.. py:class:: paddle.sparse.nn.MaxPool3D(kernel_size, stride=None, padding=0, ceil_mode=False, return_mask=False, data_format="NDHWC", name=None) +.. py:class:: paddle.sparse.nn.MaxPool3D(kernel_size, stride=None, padding=0, return_mask=False, ceil_mode=False, data_format="NDHWC", name=None) 构建 ``MaxPool3D`` 类的一个可调用对象,其将构建一个三维最大池化层,根据输入参数 ``kernel_size``, ``stride``, -``padding`` 等参数对稀疏输入特征做最大池化操作。 输入输出都是 "NDHWC" 格式,其中 N 是批大小, C 是特征的通道数, H 是特征的高, W 是特征的宽。 +``padding`` 等参数对稀疏输入特征做最大池化操作。输入输出都是 "NDHWC" 格式,其中 N 是批大小,C 是特征的通道数,D、H、W 分别是特征的深度、高和宽。 参数 ::::::::: - **kernel_size** (int|list|tuple) - 池化核大小。如果它是一个元组或列表,它必须包含三个整数值,(pool_size_Depth,pool_size_Height, pool_size_Width)。若为一个整数,则表示 D,H 和 W 维度上均为该值,比如若 kernel_size=2,则池化核大小为[2,2,2]。 - **stride** (int|list|tuple,可选) - 池化层的步长。如果它是一个元组或列表,它将包含三个整数,(pool_stride_Depth,pool_stride_Height, pool_stride_Width)。若为一个整数,则表示 D, H 和 W 维度上 stride 均为该值。默认值为 None ,这时会使用 kernel_size 作为 stride 。 - - **padding** (str|int|list|tuple,可选) - 池化填充。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法。如果它是一个元组或列表,它可以有 3 种格式:(1)包含 3 个整数值:[pad_depth, pad_height, pad_width];(2)包含 6 个整数值:[pad_depth_front, pad_depth_back, pad_height_top, pad_height_bottom, pad_width_left, pad_width_right];(3)包含 5 个二元组:当 data_format 为"NCDHW"时为[[0,0], [0,0], [pad_depth_front, pad_depth_back], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right]],当 data_format 为"NDHWC"时为[[0,0], [pad_depth_front, pad_depth_back], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right], [0,0]]。若为一个整数,则表示 D、H 和 W 维度上均为该值。默认值:0 。 - - **ceil_mode** (bool,可选) - 是否用 ceil 函数计算输出高度和宽度。如果是 True ,则使用 ``ceil`` 计算输出形状的大小。默认为 False 。 - - **return_mask** (bool,可选) - 是否返回最大索引和输出。默认为 False 。 - - **data_format** (str,可选) - 输入和输出的数据格式,可以是"NCDHW"和"NDHWC"。N 是批尺寸,C 是通道数,D 是特征深度,H 是特征高度,W 是特征宽度。当前只支持:"NDHWC" 。 + - **padding** (str|int|list|tuple,可选) - 池化填充。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法。如果它是一个元组或列表,它可以有 3 种格式:(1)包含 3 个整数值:[pad_depth, pad_height, pad_width];(2)包含 6 个整数值:[pad_depth_front, pad_depth_back, pad_height_top, pad_height_bottom, pad_width_left, pad_width_right];(3)包含 5 个二元组:``[[0, 0], [pad_depth_front, pad_depth_back], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right], [0, 0]]``。若为一个整数,则表示 D、H 和 W 维度上均为该值。默认值:0 。 + - **return_mask** (bool,可选) - 当前该参数不会传递给底层池化函数,调用时始终返回单个池化结果 Tensor。默认值为 False 。 + - **ceil_mode** (bool,可选) - 是否用 ceil 函数计算输出深度、高度和宽度。如果是 True ,则使用 ``ceil`` 计算输出形状的大小。默认为 False 。 + - **data_format** (str,可选) - 输入和输出的数据格式。当前仅支持 "NDHWC"。N 是批尺寸,C 是通道数,D 是特征深度,H 是特征高度,W 是特征宽度。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为 None 。 形状 ::::::::: - - **x** (Tensor):默认形状为(批大小,通道数,长度,高度,宽度),即 NCDHW 格式的 5-D Tensor。其数据类型为 float16, float32, float64, int32 或 int64。 - - **output** (Tensor):默认形状为(批大小,通道数,输出特征长度,输出特征高度,输出特征宽度),即 NCDHW 格式的 5-D Tensor。其数据类型与输入相同。 + - **x** (SparseCooTensor):形状为 ``[N, D, H, W, C]`` 的 NDHWC 格式 5-D SparseCooTensor。数据类型为 float32 或 float64。 + - **output** (SparseCooTensor):形状为 ``[N, D_out, H_out, W_out, C]`` 的 NDHWC 格式 5-D SparseCooTensor。其数据类型与输入相同。 返回 diff --git a/docs/api/paddle/sparse/nn/SubmConv2D_cn.rst b/docs/api/paddle/sparse/nn/SubmConv2D_cn.rst index f0e21f4775b..b28f08e33bf 100644 --- a/docs/api/paddle/sparse/nn/SubmConv2D_cn.rst +++ b/docs/api/paddle/sparse/nn/SubmConv2D_cn.rst @@ -3,14 +3,14 @@ SubmConv2D ------------------------------- -.. py:class:: paddle.sparse.nn.SubmConv2D(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, padding_mode='zeros', key=None, weight_attr=None, bias_attr=None, data_format='NHWC') +.. py:class:: paddle.sparse.nn.SubmConv2D(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, padding_mode='zeros', key=None, weight_attr=None, bias_attr=None, data_format='NHWC', backend=None) **子流形稀疏二维卷积层** 子流形稀疏二维卷积层(submanifold sparse convolution2d layer)根据输入计算输出,卷积核和步长、填充、空洞大小(dilations)一组参数。 输入(input)和输出(Output)是多维的稀疏张量(Sparse Coo Tensor), 形状为 :math:`[N,H,W,C]` 其中 N 是批尺寸,C 是通道,H 是特征高度,W 是特征宽度。 -如果提供了 bias_attr,则添加偏置项到卷积的输出。 +如果提供了 ``bias_attr``,则添加偏置项到卷积的输出。 对于每一个输入 :math:`X`,方程是: .. math:: @@ -18,35 +18,28 @@ SubmConv2D 其中: - - :math:`X` : 输入值, NDHWC 格式的 Tencer。 - - :math:`W` : 卷积核值, NDHWC 格式的 Tencer。 + - :math:`X` : 输入值, NHWC 格式的 SparseCooTensor。 + - :math:`W` : 卷积核值, HWCM 格式的 Tensor。 - :math:`\\ast` : 子流形卷积运算, 参考论文: `Submanifold Sparse Convolutional Networks `_ 。 - - :math:`b` : 偏置值, 形状为[M]的 1-D Tencer。 + - :math:`b` : 偏置值, 形状为[M]的 1-D Tensor。 - :math:`Out` : 输出值, :math:`Out` 和 :math:`X` 的形状可能不同。 参数 :::::::::::: - - **in_channels** (int): - 输入图像的通道数。 - - **out_channels** (int): - 卷积操作产生的输出通道数。 - - **kernel_size** (int|list|tuple): - 卷积核的大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积核的深度,高和宽。如果为单个整数,表示卷积核的深度,高和宽都等于该整数。 - - **stride** (int|list|tuple, 可选): - 步长大小。如果 stride 是一个列表/元组,它必须包含两个整数,(stride_H, stride_W)。否则, stride_H = stride_W = stride。默认值为 1。 - - **padding** (int|str|tuple|list, 可选): - 填充大小。应为以下几种格式之一; - - - (1) 如果它是一个字符串,可以是 "VALID" 或者 "SAME",计算细节可参考上述 ``padding`` = "SAME" 或 ``padding`` = "VALID" 时的计算公式。 - - (2) 如果它是一个整数, 则代表它每个 Spartial 维度(depth, height, width) 被 ``padding`` 的大小填充为零。 - - (3) 一个 list[int] 或 tuple[int],其长度是 Spartial 维度的数目,它包含每个 Spartial 维度每侧的填充量。它的形式为 [pad_d1, pad_d2, ...]。 - - (4) 一个 list[int] 或 tuple[int],其长度为 2 * 部分维数。对于所有局部维度,它的形式为 [pad_before, pad_after, pad_before, pad_after, ...]。 - - (5) 一个整数对的列表或元组。它的形式为 [[pad_before, pad_after], [pad_before, pad_after], ...]。 - - 请注意,批维度和通道维度也包括在内。每对整数对应于输入维度的填充量。批维度和通道维度中的填充应为[0, 0]或者是(0, 0)默认值为 0。 - - **dilation** (int|list|tuple, 可选): - 空洞大小。如果 dilation 是列表或元组, 则它必须包含两个整数 (dilation_H, dilation_W)。否则, dilation_H = dilation_W = dilation。默认值为 1。 - - **groups** (int, 可选): - 二维卷积层的组号。根据 Alex Krizhevsky 的 Deep CNN 论文中的分组卷积:当 group = 2 时, 卷积核的前半部分仅连接到输入通道的前半部分, 而卷积核的后半部分仅连接到输入通道的后半部分。默认值为 1。 - - **padding_mode** (str, 可选): - ``'zeros'``, ``'reflect'``, ``'replicate'`` 或 ``'circular'``。 目前仅支持 ``'zeros'``。 - - **key** (str, 可选): - key 用于保存或使用相同的规则手册,规则手册的定义和作用是指 https://pdfs.semanticscholar.org/5125/a16039cabc6320c908a4764f32596e018ad3.pdf。默认值为 None。 - - **weight_attr** (ParamAttr, 可选): - conv2d 的可学习参数/权重的参数属性。如果设置为 None 或 ParamAttr 的一个属性,则 conv2d 将创建 ParamAttr 作为 param_attr。 如果设置为 None, 则参数初始化为 :math:`Normal(0.0, std)` , 并且 :math:`std` 是 :math:`(\frac{2.0 }{filter\_elem\_num})^{0.5}` ,默认值为 None。 - - **bias_attr** (ParamAttr|bool, 可选): - conv2d 偏差的参数属性。如果设置为 False, 则不会向输出单位添加任何偏置。如果设置为 None 或 ParamAttr 的一个属性,则 conv2d 将创建 ParamAttr 作为 bias_attr。如果未设置 bias_attr 的初始值设定项,则偏置初始化为零。默认值为 None。 - - **data_format** (str, 可选): 指定输入布局的数据格式。它可以是 "NCHW" 或 "NHWC"。目前仅支持 "NHWC"。 + - **in_channels** (int) - 输入图像的通道数。 + - **out_channels** (int) - 卷积操作产生的输出通道数。 + - **kernel_size** (int|list|tuple) - 卷积核的大小。可以为单个整数或包含两个整数的元组或列表,分别表示卷积核的高和宽。如果为单个整数,表示卷积核的高和宽都等于该整数。 + - **stride** (int|list|tuple,可选) - 步长大小。如果 stride 是一个列表/元组,它必须包含两个整数,(stride_H, stride_W)。否则, stride_H = stride_W = stride。默认值为 1。 + - **padding** (int|str|tuple|list,可选) - 填充大小。可以是 ``"VALID"`` 或 ``"SAME"``;也可以是一个整数、包含两个整数的 ``[pad_height, pad_width]``、包含四个整数的 ``[pad_height_top, pad_height_bottom, pad_width_left, pad_width_right]``,或四个二元组 ``[[0, 0], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right], [0, 0]]``。若为一个整数,则高和宽方向均使用该值。默认值为 0。 + - **dilation** (int|list|tuple,可选) - 空洞大小。如果 dilation 是列表或元组, 则它必须包含两个整数 (dilation_H, dilation_W)。否则, dilation_H = dilation_W = dilation。默认值为 1。 + - **groups** (int,可选) - 卷积层的组数。当前仅支持 ``groups=1``。默认值为 1。 + - **padding_mode** (str,可选) - 当前仅支持 ``'zeros'``。默认值为 ``'zeros'``。 + - **key** (str|None,可选) - key 用于保存或使用相同的规则手册,规则手册的定义和作用是指 https://pdfs.semanticscholar.org/5125/a16039cabc6320c908a4764f32596e018ad3.pdf。默认值为 None。 + - **weight_attr** (ParamAttr,可选) - conv2d 的可学习参数/权重的参数属性。如果设置为 None 或 ParamAttr 的一个属性,则 conv2d 将创建 ParamAttr 作为 param_attr。 如果设置为 None, 则参数初始化为 :math:`Normal(0.0, std)` , 并且 :math:`std` 是 :math:`(\frac{2.0 }{filter\_elem\_num})^{0.5}` ,默认值为 None。 + - **bias_attr** (ParamAttr|bool,可选) - conv2d 偏差的参数属性。如果设置为 False, 则不会向输出单位添加任何偏置。如果设置为 None 或 ParamAttr 的一个属性,则 conv2d 将创建 ParamAttr 作为 bias_attr。如果未设置 bias_attr 的初始值设定项,则偏置初始化为零。默认值为 None。 + - **data_format** (str,可选) - 指定输入布局的数据格式。当前仅支持 "NHWC"。 + - **backend** (str,可选) - 指定稀疏卷积实现后端。可选值为 ``"igemm"`` 或 ``None``,默认值为 None。 属性 :::::::::::: diff --git a/docs/api/paddle/sparse/nn/SubmConv3D_cn.rst b/docs/api/paddle/sparse/nn/SubmConv3D_cn.rst index 8e761b859ee..74e64d15d89 100644 --- a/docs/api/paddle/sparse/nn/SubmConv3D_cn.rst +++ b/docs/api/paddle/sparse/nn/SubmConv3D_cn.rst @@ -3,12 +3,12 @@ SubmConv3D ------------------------------- -.. py:class:: paddle.sparse.nn.SubmConv3D(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, padding_mode='zeros', key=None, weight_attr=None, bias_attr=None, data_format="NDHWC") +.. py:class:: paddle.sparse.nn.SubmConv3D(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, padding_mode='zeros', key=None, weight_attr=None, bias_attr=None, data_format="NDHWC", backend=None) **子流形稀疏三维卷积层** 子流形稀疏三维卷积层(submanifold sparse convolution3D layer),根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)一组参数计算得到输出特征层大小。输入和输出是 -NDHWC 格式,其中 N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征层高度,W 是特征层宽度。如果 bias_attr 不为 False,卷积计算会添加偏置项。 +NDHWC 格式的 5-D SparseCooTensor,其中 N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征层高度,W 是特征层宽度。如果 bias_attr 不为 False,卷积计算会添加偏置项。 对每个输入 X,有等式: @@ -18,11 +18,11 @@ NDHWC 格式,其中 N 是批尺寸,C 是通道数,D 是特征层深度,H 其中: - - :math:`X` :输入值,NDHWC 格式的 5-D Tensor + - :math:`X` :输入值,NDHWC 格式的 5-D SparseCooTensor - :math:`W` :卷积核值,DHWCM 格式的 5-D Tensor - :math:`*` :子流形稀疏卷积操作的定义参考论文:https://arxiv.org/abs/1706.01307 - :math:`b` :偏置值,1-D Tensor,形为 ``[M]`` - - :math:`Out` :输出值,NDHWC 格式的 5-D Tensor,和 ``X`` 的形状可能不同 + - :math:`Out` :输出值,NDHWC 格式的 5-D SparseCooTensor,和 ``X`` 的形状可能不同 参数 :::::::::::: @@ -30,20 +30,17 @@ NDHWC 格式,其中 N 是批尺寸,C 是通道数,D 是特征层深度,H - **in_channels** (int) - 输入图像的通道数。 - **out_channels** (int) - 由卷积操作产生的输出的通道数。 - **kernel_size** (int|list|tuple) - 卷积核大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积核的深度,高和宽。如果为单个整数,表示卷积核的深度,高和宽都等于该整数。 - - **stride** (int|list|tuple,可选) - 步长大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积沿着深度,高和宽的步长。如果为单个整数,表示沿着高和宽的步长都等于该整数。默认值:1。 - - **padding** (int|list|tuple|str,可选) - 填充大小。如果它是一个字符串,可以是 "VALID" 或者 "SAME" ,表示填充算法,计算细节可参考上述 ``padding`` = "SAME" 或 ``padding`` = "VALID" 时的计算公式。如果它是一个元组或列表,它可以有 3 种格式: - - - (1)包含 5 个二元组:当 ``data_format`` 为 "NCDHW" 时为 [[0,0], [0,0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right]],当 ``data_format`` 为 "NDHWC" 时为[[0,0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right], [0,0]]; - - (2)包含 6 个整数值:[padding_depth_front, padding_depth_back, padding_height_top, padding_height_bottom, padding_width_left, padding_width_right]; - - (3)包含 3 个整数值:[padding_depth, padding_height, padding_width],此时 padding_depth_front = padding_depth_back = padding_depth, padding_height_top = padding_height_bottom = padding_height, padding_width_left = padding_width_right = padding_width。若为一个整数,padding_depth = padding_height = padding_width = padding。默认值:0。 + - **stride** (int|list|tuple,可选) - 步长大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积沿着深度,高和宽的步长。如果为单个整数,表示沿着深度、高和宽的步长都等于该整数。默认值:1。 + - **padding** (int|list|tuple|str,可选) - 填充大小。如果它是一个字符串,可以是 "VALID" 或者 "SAME"。如果它是一个元组或列表,可以有以下 3 种格式:(1)包含 5 个二元组:``[[0, 0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right], [0, 0]]``;(2)包含 6 个整数值:``[padding_depth_front, padding_depth_back, padding_height_top, padding_height_bottom, padding_width_left, padding_width_right]``;(3)包含 3 个整数值:``[padding_depth, padding_height, padding_width]``。若为一个整数,则深度、高度和宽度方向均使用该值。默认值:0。 - **dilation** (int|list|tuple,可选) - 空洞大小。可以为单个整数或包含三个整数的元组或列表,分别表示卷积核中的元素沿着深度,高和宽的空洞。如果为单个整数,表示深度,高和宽的空洞都等于该整数。默认值:1。 - - **groups** (int,可选) - 三维卷积层的组数。根据 Alex Krizhevsky 的深度卷积神经网络(CNN)论文中的成组卷积:当 group = n ,输入和卷积核分别根据通道数量平均分为 n 组,第一组卷积核和第一组输入进行卷积计算,第二组卷积核和第二组输入进行卷积计算,……,第 n 组卷积核和第 n 组输入进行卷积计算。默认值:1。 - - **padding_mode** (str,可选) - 填充模式。包括 ``'zeros'``, ``'reflect'``, ``'replicate'`` 或者 ``'circular'`` 。默认值:``'zeros'`` 。 - - **key** (str,可选) - 这个 key 是用来保存或者使用相同的 rulebook ,rulebook 的定义参考论文:https://pdfs.semanticscholar.org/5125/a16039cabc6320c908a4764f32596e018ad3.pdf。 默认是 None。 + - **groups** (int,可选) - 卷积层的组数。当前仅支持 ``groups=1``。默认值:1。 + - **padding_mode** (str,可选) - 填充模式。当前仅支持 ``'zeros'``。默认值:``'zeros'`` 。 + - **key** (str|None,可选) - 这个 key 是用来保存或者使用相同的 rulebook ,rulebook 的定义参考论文:https://pdfs.semanticscholar.org/5125/a16039cabc6320c908a4764f32596e018ad3.pdf。 默认是 None。 - **weight_attr** (ParamAttr,可选) - 指定权重参数属性的对象。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - **bias_attr** (ParamAttr|bool,可选)- 指定偏置参数属性的对象。若 ``bias_attr`` 为 bool 类型,只支持为 False,表示没有偏置参数。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致,可以是 "NCDHW" 和 "NDHWC" 。N 是批尺寸,C 是通道数,D 是特征深度,H 是特征高度,W 是特征宽度。默认值:"NDHWC" 。 当前只支持 "NDHWC" 。 + - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致。当前仅支持 "NDHWC",即 ``[batch_size, input_depth, input_height, input_width, input_channels]``。默认值:"NDHWC" 。 + - **backend** (str,可选) - 指定稀疏卷积实现后端。可选值为 ``"igemm"`` 或 ``None``,默认值为 None。 属性 diff --git a/docs/api/paddle/sparse/nn/SyncBatchNorm_cn.rst b/docs/api/paddle/sparse/nn/SyncBatchNorm_cn.rst index 82b965b6a10..afeed6f7e97 100644 --- a/docs/api/paddle/sparse/nn/SyncBatchNorm_cn.rst +++ b/docs/api/paddle/sparse/nn/SyncBatchNorm_cn.rst @@ -3,7 +3,7 @@ SyncBatchNorm ------------------------------- -.. py:class:: paddle.sparse.nn.SyncBatchNorm(num_features, epsilon=1e-5, momentum=0.9, weight_attr=None, bias_attr=None, data_format='NCHW', name=None) +.. py:class:: paddle.sparse.nn.SyncBatchNorm(num_features, momentum=0.9, epsilon=1e-5, weight_attr=None, bias_attr=None, data_format='NCHW', name=None) 构建 ``SyncBatchNorm`` 类的一个可调用对象,具体用法参照 ``代码示例`` 。实现了跨卡 GPU 同步的批归一化(Cross-GPU Synchronized Batch Normalization Layer)的功能,可用在其他层(类似卷积层和全连接层)之后进行归一化操作。根据所有 GPU 同一批次的数据按照通道计算的均值和方差进行归一化。更多详情请参考:`Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift `_ 。 @@ -42,11 +42,11 @@ SyncBatchNorm :::::::::::: - **num_features** (int) - 指明输入 ``Tensor`` 的通道数量。 - - **epsilon** (float,可选) - 为了数值稳定加在分母上的值。默认值:1e-05。 - **momentum** (float,可选) - 此值用于计算 ``moving_mean`` 和 ``moving_var`` 。默认值:0.9。更新公式如上所示。 + - **epsilon** (float,可选) - 为了数值稳定加在分母上的值。默认值:1e-05。 - **weight_attr** (ParamAttr|bool,可选) - 指定权重参数属性的对象。如果设置为 ``False`` ,则表示本层没有可训练的权重参数。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - **bias_attr** (ParamAttr|bool,可选) - 指定偏置参数属性的对象。如果设置为 ``False`` ,则表示本层没有可训练的偏置参数。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - - **data_format** (string,可选) - 指定输入数据格式,数据格式可以为“NCHW"。默认值:“NCHW”。 + - **data_format** (string,可选) - 指定输入数据格式,数据格式可以为 “NCHW”。默认值:“NCHW”。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为 None。 形状 diff --git a/docs/api/paddle/sparse/nn/functional/conv3d_cn.rst b/docs/api/paddle/sparse/nn/functional/conv3d_cn.rst index 6c8b789e604..626b1067f95 100644 --- a/docs/api/paddle/sparse/nn/functional/conv3d_cn.rst +++ b/docs/api/paddle/sparse/nn/functional/conv3d_cn.rst @@ -5,7 +5,7 @@ conv3d .. py:function:: paddle.sparse.nn.functional.conv3d(x, weight, bias=None, stride=1, padding=0, dilation=1, groups=1, data_format="NDHWC", name=None) -稀疏三维卷积层(convolution3D layer),根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)一组参数计算得到输出特征层大小。输入和输出是 NCDHW 或 NDHWC 格式,其中 N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征层高度,W 是特征层宽度。如果 bias_attr 不为 False,卷积计算会添加偏置项。 +稀疏三维卷积层(convolution3D layer),根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)一组参数计算得到输出特征层大小。输入和输出均为 NDHWC 格式,其中 N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征层高度,W 是特征层宽度。若提供 ``bias``,卷积计算会添加偏置项。 对每个输入 X ,有等式: @@ -15,11 +15,11 @@ conv3d 其中: - - :math:`X` :输入值,NCDHW 或 NDHWC 格式的 5-D Tensor + - :math:`X` :输入值,NDHWC 格式的 5-D SparseCooTensor - :math:`W` :卷积核值,MCDHW 格式的 5-D Tensor - :math:`*` :卷积操作 - :math:`b` :偏置值,1-D Tensor,形为 ``[M]`` - - :math:`Out` :输出值,NCDHW 或 NDHWC 格式的 5-D Tensor,和 ``X`` 的形状可能不同 + - :math:`Out` :输出值,NDHWC 格式的 5-D SparseCooTensor,和 ``X`` 的形状可能不同 **示例** @@ -37,31 +37,25 @@ conv3d :::::::::::: - **x** (Tensor) - 输入是形状为 :math:`[N, D, H, W, C]` 的 5-D SparseCooTensor,N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征高度,W 是特征宽度,数据类型为 float16, float32 或 float64 。 - - **weight** (Tensor) - 形状为 :math:`[kD, kH, kW, C/g, M]` 的卷积核(卷积核)。 M 是输出通道数,g 是分组的个数,kH 是卷积核的高度,kW 是卷积核的宽度。 + - **weight** (Tensor) - 形状为 :math:`[kD, kH, kW, C/g, M]` 的卷积核(卷积核)。 M 是输出通道数,g 是分组的个数,kD、kH、kW 分别是卷积核的深度、高度和宽度。 - **bias** (Tensor,可选) - 偏置项,形状为::math:`[M]` 。 - **stride** (int|list|tuple,可选) - 步长大小。卷积核和输入进行卷积计算时滑动的步长。 - 如果它是一个列表或元组,则必须包含三个整型数:(stride_depth, stride_height,stride_width)。 - 若为一个整数,stride_depth = stride_height = stride_width = stride。默认值:1。 - - **padding** (int|list|tuple|str,可选) - 填充大小。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法,计算细节可参考上述 ``padding`` = "SAME"或 ``padding`` = "VALID" 时的计算公式。如果它是一个元组或列表,它可以有 3 种格式: - - - (1)包含 5 个二元组:当 ``data_format`` 为"NCDHW"时为 [[0,0], [0,0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right]],当 ``data_format`` 为"NDHWC"时为[[0,0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right], [0,0]]; - - (2)包含 6 个整数值:[padding_depth_front, padding_depth_back, padding_height_top, padding_height_bottom, padding_width_left, padding_width_right]; - - (3)包含 3 个整数值:[padding_depth, padding_height, padding_width],此时 padding_depth_front = padding_depth_back = padding_depth, padding_height_top = padding_height_bottom = padding_height, padding_width_left = padding_width_right = padding_width。若为一个整数,padding_depth = padding_height = padding_width = padding。默认值:0。 - - **dilation** (int|list|tuple,可选) - 空洞大小。空洞卷积时会使用该参数,卷积核对输入进行卷积时,感受野里每相邻两个特征点之间的空洞信息。如果空洞大小为列表或元组,则必须包含两个整型数:(dilation_height,dilation_width)。若为一个整数,dilation_height = dilation_width = dilation。默认值:1。 - - **groups** (int,可选) - 二维卷积层的组数。根据 Alex Krizhevsky 的深度卷积神经网络(CNN)论文中的成组卷积:当 group=n,输入和卷积核分别根据通道数量平均分为 n 组,第一组卷积核和第一组输入进行卷积计算,第二组卷积核和第二组输入进行卷积计算,……,第 n 组卷积核和第 n 组输入进行卷积计算。默认值:1。 - - **weight_attr** (ParamAttr,可选) - 指定权重参数属性的对象。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - - **bias_attr** (ParamAttr|bool,可选)- 指定偏置参数属性的对象。若 ``bias_attr`` 为 bool 类型,只支持为 False,表示没有偏置参数。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。 - - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致,可以是"NCDHW"和"NDHWC"。N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征高度,W 是特征宽度。默认值:"NCDHW"。 + - **padding** (int|list|tuple|str,可选) - 填充大小。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法。如果它是一个元组或列表,可以有以下 3 种格式:(1)包含 5 个二元组:``[[0, 0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right], [0, 0]]``;(2)包含 6 个整数值:``[padding_depth_front, padding_depth_back, padding_height_top, padding_height_bottom, padding_width_left, padding_width_right]``;(3)包含 3 个整数值:``[padding_depth, padding_height, padding_width]``。若为一个整数,则深度、高度和宽度方向均使用该值。默认值:0。 + - **dilation** (int|list|tuple,可选) - 空洞大小。若为列表或元组,必须包含三个整数 ``(dilation_depth, dilation_height, dilation_width)``;若为一个整数,则深度、高度和宽度方向均使用该值。默认值:1。 + - **groups** (int,可选) - 卷积层的组数。当前仅支持 ``groups=1``。默认值:1。 + - **data_format** (str,可选) - 指定输入和输出的数据格式。当前仅支持 ``"NDHWC"``,即 ``[batch_size, input_depth, input_height, input_width, input_channels]``。默认值:``"NDHWC"``。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为 None。 返回 :::::::::::: -5-D Tensor ,数据类型与 ``input`` 一致。返回卷积计算的结果。 +5-D SparseCooTensor,数据类型与 ``x`` 一致。返回卷积计算的结果。 返回类型 :::::::::::: -Tensor。 +SparseCooTensor。 代码示例 :::::::::::: diff --git a/docs/api/paddle/sparse/nn/functional/subm_conv3d_cn.rst b/docs/api/paddle/sparse/nn/functional/subm_conv3d_cn.rst index 37f2c547c35..9390db3defe 100644 --- a/docs/api/paddle/sparse/nn/functional/subm_conv3d_cn.rst +++ b/docs/api/paddle/sparse/nn/functional/subm_conv3d_cn.rst @@ -5,7 +5,7 @@ subm_conv3d .. py:function:: paddle.sparse.nn.functional.subm_conv3d(x, weight, bias=None, stride=1, padding=0, dilation=1, groups=1, data_format="NDHWC", key=None, name=None) -子流形稀疏三维卷积层(convolution3D layer),根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)一组参数计算得到输出特征层大小。输入和输出是 NCDHW 或 NDHWC 格式,其中 N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征层高度,W 是特征层宽度。如果 bias_attr 不为 False,卷积计算会添加偏置项。 +子流形稀疏三维卷积层(convolution3D layer),根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)一组参数计算得到输出特征层大小。输入和输出均为 NDHWC 格式,其中 N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征层高度,W 是特征层宽度。若提供 ``bias``,卷积计算会添加偏置项。 对每个输入 X,有等式: @@ -15,11 +15,11 @@ subm_conv3d 其中: - - :math:`X` :输入值,NCDHW 或 NDHWC 格式的 5-D Tensor - - :math:`W` :卷积核值,MCDHW 格式的 5-D Tensor + - :math:`X` :输入值,NDHWC 格式的 5-D SparseCooTensor + - :math:`W` :卷积核值,DHWCM 格式的 5-D Tensor - :math:`*` :卷积操作 - :math:`b` :偏置值,1-D Tensor,形为 ``[M]`` - - :math:`Out` :输出值,NCDHW 或 NDHWC 格式的 5-D Tensor,和 ``X`` 的形状可能不同 + - :math:`Out` :输出值,NDHWC 格式的 5-D SparseCooTensor,和 ``X`` 的形状可能不同 **示例** @@ -37,25 +37,23 @@ subm_conv3d :::::::::::: - **x** (Tensor) - 输入是形状为 :math:`[N, D, H, W, C]` 的 5-D SparseCooTensor,N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征高度,W 是特征宽度,数据类型为 float16, float32 或 float64。 - - **weight** (Tensor) - 形状为 :math:`[kD, kH, kW, C/g, M]` 的卷积核(卷积核)。 M 是输出通道数,g 是分组的个数,kH 是卷积核的高度,kW 是卷积核的宽度。 + - **weight** (Tensor) - 形状为 :math:`[kD, kH, kW, C/g, M]` 的卷积核(卷积核)。 M 是输出通道数,g 是分组的个数,kD、kH、kW 分别是卷积核的深度、高度和宽度。 - **bias** (Tensor,可选) - 偏置项,形状为::math:`[M]` 。 - **stride** (int|list|tuple,可选) - 步长大小。卷积核和输入进行卷积计算时滑动的步长。如果它是一个列表或元组,则必须包含三个整型数:(stride_depth, stride_height,stride_width)。若为一个整数,stride_depth = stride_height = stride_width = stride。默认值:1。 - - **padding** (int|list|tuple|str,可选) - 填充大小。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法,计算细节可参考上述 ``padding`` = "SAME"或 ``padding`` = "VALID" 时的计算公式。如果它是一个元组或列表,它可以有 3 种格式:(1)包含 5 个二元组:当 ``data_format`` 为"NCDHW"时为 [[0,0], [0,0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right]],当 ``data_format`` 为"NDHWC"时为[[0,0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right], [0,0]];(2)包含 6 个整数值:[padding_depth_front, padding_depth_back, padding_height_top, padding_height_bottom, padding_width_left, padding_width_right];(3)包含 3 个整数值:[padding_depth, padding_height, padding_width],此时 padding_depth_front = padding_depth_back = padding_depth, padding_height_top = padding_height_bottom = padding_height, padding_width_left = padding_width_right = padding_width。若为一个整数,padding_depth = padding_height = padding_width = padding。默认值:0。 - - **dilation** (int|list|tuple,可选) - 空洞大小。空洞卷积时会使用该参数,卷积核对输入进行卷积时,感受野里每相邻两个特征点之间的空洞信息。如果空洞大小为列表或元组,则必须包含两个整型数:(dilation_height,dilation_width)。若为一个整数,dilation_height = dilation_width = dilation。默认值:1。 - - **groups** (int,可选) - 二维卷积层的组数。根据 Alex Krizhevsky 的深度卷积神经网络(CNN)论文中的成组卷积:当 group=n,输入和卷积核分别根据通道数量平均分为 n 组,第一组卷积核和第一组输入进行卷积计算,第二组卷积核和第二组输入进行卷积计算,……,第 n 组卷积核和第 n 组输入进行卷积计算。默认值:1。 - - **weight_attr** (ParamAttr,可选) - 指定权重参数属性的对象。默认值为 None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr`。 - - **bias_attr** (ParamAttr|bool,可选) - 指定偏置参数属性的对象。若 ``bias_attr`` 为 bool 类型,只支持为 False,表示没有偏置参数。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr`。 - - **data_format** (str,可选) - 指定输入的数据格式,输出的数据格式将与输入保持一致,可以是"NCDHW"和"NDHWC"。N 是批尺寸,C 是通道数,D 是特征层深度,H 是特征高度,W 是特征宽度。默认值:"NCDHW"。 - - **key** (str,可选) - 用来保存和使用相同 rulebook 。 + - **padding** (int|list|tuple|str,可选) - 填充大小。如果它是一个字符串,可以是"VALID"或者"SAME",表示填充算法。如果它是一个元组或列表,可以有以下 3 种格式:(1)包含 5 个二元组:``[[0, 0], [padding_depth_front, padding_depth_back], [padding_height_top, padding_height_bottom], [padding_width_left, padding_width_right], [0, 0]]``;(2)包含 6 个整数值:``[padding_depth_front, padding_depth_back, padding_height_top, padding_height_bottom, padding_width_left, padding_width_right]``;(3)包含 3 个整数值:``[padding_depth, padding_height, padding_width]``。若为一个整数,则深度、高度和宽度方向均使用该值。默认值:0。 + - **dilation** (int|list|tuple,可选) - 空洞大小。若为列表或元组,必须包含三个整数 ``(dilation_depth, dilation_height, dilation_width)``;若为一个整数,则深度、高度和宽度方向均使用该值。默认值:1。 + - **groups** (int,可选) - 卷积层的组数。当前仅支持 ``groups=1``。默认值:1。 + - **data_format** (str,可选) - 指定输入和输出的数据格式。当前仅支持 ``"NDHWC"``,即 ``[batch_size, input_depth, input_height, input_width, input_channels]``。默认值:``"NDHWC"``。 + - **key** (str|None,可选) - 用来保存或使用相同的 rulebook。默认值为 None。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为 None 。 返回 :::::::::::: -5-D Tensor,数据类型与 ``input`` 一致。返回卷积计算的结果。 +5-D SparseCooTensor,数据类型与 ``x`` 一致。返回卷积计算的结果。 返回类型 :::::::::::: -Tensor。 +SparseCooTensor。 代码示例 :::::::::::: diff --git a/docs/api/paddle/sparse/slice_cn.rst b/docs/api/paddle/sparse/slice_cn.rst index d239131106d..08d5f9684c2 100644 --- a/docs/api/paddle/sparse/slice_cn.rst +++ b/docs/api/paddle/sparse/slice_cn.rst @@ -3,11 +3,11 @@ slice ------------------------------- -.. py:function:: paddle.sparse.slice(x, axis, starts, ends, name=None) +.. py:function:: paddle.sparse.slice(x, axes, starts, ends, name=None) 沿多个轴生成 ``x`` 的切片。使用 ``axes`` 、 ``starts`` 和 ``ends`` 属性来指定轴列表中每个轴的起点和终点位置,并使用此信息来对 ``x`` 切片。 如果向 ``starts`` 或 ``ends`` 传递负值如 :math:`-i`,则表示该轴的反向第 :math:`i-1` 个位置(这里以 0 为初始位置)。 -如果传递给 ``starts`` 或 ``end`` 的值大于 n (维度中的元素数目),则表示 n。 +如果传递给 ``starts`` 或 ``ends`` 的值大于 n (维度中的元素数目),则表示 n。 当切片一个未知数量的维度时,建议传入 ``INT_MAX``。 ``axes`` 、 ``starts`` 和 ``ends`` 三个参数的元素数目必须相等。 @@ -34,10 +34,11 @@ slice 参数 ::::::::: - - **x** (Tensor) - 输入的多维 ``Tensor``,数据类型为 bool、float16、float32、float64、int32 或 int64。 - - **axis** (list|tuple|Tensor) - 数据类型是 ``int32``。如果 ``axes`` 的类型是 list 或 tuple, 它的元素可以是整数或者形状为[1]的 ``Tensor``。如果 ``axes`` 的类型是 ``Tensor``,则是 1-D ``Tensor``。表示进行切片的轴。 - - **starts** (list|tuple|Tensor) - 数据类型是 ``int32``。如果 ``starts`` 的类型是 list 或 tuple, 它的元素可以是整数或者形状为[1]的 ``Tensor``。如果 ``starts`` 的类型是 ``Tensor``,则是 1-D ``Tensor``。表示在各个轴上切片的起始索引值。 - - **ends** (list|tuple|Tensor) - 数据类型是 ``int32``。如果 ``ends`` 的类型是 list 或 tuple, 它的元素可以是整数或者形状为[1]的 ``Tensor``。如果 ``ends`` 的类型是 ``Tensor``,则是 1-D ``Tensor``。表示在各个轴上切片的结束索引值。 + - **x** (Tensor) - 输入的多维 ``Tensor``,数据类型为 bool、float16、float32、float64、int16、int32 或 int64。 + - **axes** (list|tuple|Tensor) - 数据类型是 ``int32``。如果 ``axes`` 的类型是 list 或 tuple, 它的元素可以是整数或者形状为[]的 0-D ``Tensor``。如果 ``axes`` 的类型是 ``Tensor``,则是 1-D ``Tensor``。表示进行切片的轴。 + - **starts** (list|tuple|Tensor) - 数据类型是 ``int32``。如果 ``starts`` 的类型是 list 或 tuple, 它的元素可以是整数或者形状为[]的 0-D ``Tensor``。如果 ``starts`` 的类型是 ``Tensor``,则是 1-D ``Tensor``。表示在各个轴上切片的起始索引值。 + - **ends** (list|tuple|Tensor) - 数据类型是 ``int32``。如果 ``ends`` 的类型是 list 或 tuple, 它的元素可以是整数或者形状为[]的 0-D ``Tensor``。如果 ``ends`` 的类型是 ``Tensor``,则是 1-D ``Tensor``。表示在各个轴上切片的结束索引值。 + - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 :::::::::::: diff --git a/docs/api/paddle/special/erf_cn.rst b/docs/api/paddle/special/erf_cn.rst index 99768727800..7e0bf93e579 100644 --- a/docs/api/paddle/special/erf_cn.rst +++ b/docs/api/paddle/special/erf_cn.rst @@ -3,6 +3,6 @@ erf ------------------------------- -.. py:function:: paddle.special.erf(x, name=None) +.. py:function:: paddle.special.erf(x, name=None, *, out=None) ``erf`` 的别名,请参考 :ref:`cn_api_paddle_erf`。 diff --git a/docs/api/paddle/text/WMT16_cn.rst b/docs/api/paddle/text/WMT16_cn.rst index 179603e9c73..7d601567b77 100644 --- a/docs/api/paddle/text/WMT16_cn.rst +++ b/docs/api/paddle/text/WMT16_cn.rst @@ -3,7 +3,7 @@ WMT16 ------------------------------- -.. py:class:: paddle.text.WMT16(data_file = None, mode = 'train', src_dict_size = -1, trg_dict_size = -1, lang = 'ch', download = True) +.. py:class:: paddle.text.WMT16(data_file = None, mode = 'train', src_dict_size = -1, trg_dict_size = -1, lang = 'en', download = True) 该类是对 `WMT16 `_ 测试数据集实现。 @@ -14,12 +14,12 @@ http://www.statmt.org/wmt16/multimodal-task.html#task1 参数 ::::::::: - - **data_file** (str)- 保存数据集压缩文件的路径,如果参数 :attr:`download` 设置为 True,可设置为 None。默认值为 None。 - - **mode** (str)- 'train','test' 或 'val'。默认为'train'。 - - **src_dict_size** (int)- 源语言词典大小。默认为-1。 - - **trg_dict_size** (int) - 目标语言测点大小。默认为-1。 - - **lang** (str)- 源语言,'en' 或 'de'。默认为 'en'。 - - **download** (bool)- 如果 :attr:`data_file` 未设置,是否自动下载数据集。默认为 True。 + - **data_file** (str) - 保存数据集压缩文件的路径,如果参数 :attr:`download` 设置为 True,可设置为 None。默认值为 None。 + - **mode** (str)- 'train','test' 或 'val'。默认为'train'。 + - **src_dict_size** (int) - 源语言词典大小。默认为-1。 + - **trg_dict_size** (int) - 目标语言词典大小。默认为-1。 + - **lang** (str) - 源语言,'en' 或 'de'。默认为 'en'。 + - **download** (bool) - 如果 :attr:`data_file` 未设置,是否自动下载数据集。默认为 True。 返回值 ::::::::: diff --git a/docs/api/paddle/true_divide__cn.rst b/docs/api/paddle/true_divide__cn.rst index 8612efefab3..05d669f3792 100644 --- a/docs/api/paddle/true_divide__cn.rst +++ b/docs/api/paddle/true_divide__cn.rst @@ -3,22 +3,10 @@ true_divide_ ------------------------------- -.. py:function:: paddle.true_divide_(input, other, name=None) +.. py:function:: paddle.true_divide_(x, y, name=None, *, rounding_mode=None) -该 API 是 ``true_divide`` 的 inplace 版本,对输入 Tensor 进行原地除法操作。 +Inplace 版本的 :ref:`cn_api_paddle_divide` API,对输入 ``x`` 采用 Inplace 策略。 -参数 -:::::::::::: +更多关于 inplace 操作的介绍请参考 `3.1.3 原位(Inplace)操作和非原位操作的区别`_ 了解详情。 - - **input** (Tensor) - 输入的 Tensor,会被原地修改。 - - **other** (Tensor) - 输入的 Tensor,作为除数。 - - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 - -返回 -:::::::::::: -Tensor,与 ``input`` 是同一个 Tensor,包含逐元素除法后的结果。 - -代码示例 -:::::::::::: - -COPY-FROM: paddle.true_divide_ +.. _3.1.3 原位(Inplace)操作和非原位操作的区别: https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/guides/beginner/tensor_cn.html#id3 diff --git a/docs/api/paddle/uniform__cn.rst b/docs/api/paddle/uniform__cn.rst index 0bd0036b57a..3b6cb8066fe 100644 --- a/docs/api/paddle/uniform__cn.rst +++ b/docs/api/paddle/uniform__cn.rst @@ -3,10 +3,12 @@ uniform\_ ------------------------------- -.. py:function:: paddle.uniform_(x, shape, dtype=None, min=-1.0, max=1.0, seed=0, name=None) +.. py:function:: paddle.uniform_(x, min=0, max=1.0, seed=0, name=None) Inplace 版本的 :ref:`cn_api_paddle_uniform` API,对输入 ``x`` 采用 Inplace 策略。 +参数 ``min`` 和 ``max`` 分别支持别名 ``from`` 和 ``to``。 + 更多关于 inplace 操作的介绍请参考 `3.1.3 原位(Inplace)操作和非原位操作的区别`_ 了解详情。 .. _3.1.3 原位(Inplace)操作和非原位操作的区别: https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/guides/beginner/tensor_cn.html#id3 diff --git a/docs/api/paddle/utils/cpp_extension/load_cn.rst b/docs/api/paddle/utils/cpp_extension/load_cn.rst index e76e16557c4..93d88b387c8 100644 --- a/docs/api/paddle/utils/cpp_extension/load_cn.rst +++ b/docs/api/paddle/utils/cpp_extension/load_cn.rst @@ -43,8 +43,8 @@ load 参数 :::::::::::: - - **name** (str) - 用于指定编译自定义 OP 时,生成的动态链接库的名字,不包括后缀如。so 或者。dll。 - - **sources** (list[str]) - 用于指定自定义 OP 对应的源码文件。cpp 源文件支持。cc、.cpp 等后缀;cuda 源文件以。cu 为后缀。 + - **name** (str) - 用于指定编译自定义 OP 时,生成的动态链接库的名字,不包括后缀如 .so 或者 .dll。 + - **sources** (list[str]) - 用于指定自定义 OP 对应的源码文件。cpp 源文件支持 .cc、.cpp 等后缀;cuda 源文件以 .cu 为后缀。 - **extra_cxx_cflags** (list[str],可选) - 用于指定编译 cpp 源文件时额外的编译选项。默认情况下,Paddle 框架相关的必要选项均已被隐式地包含;默认值为 None 。 - **extra_cuda_cflags** (list[str],可选) - 用于指定编译 cuda 源文件时额外的编译选项。默认情况下,Paddle 框架相关的必要选项均已被隐式地包含;``nvcc`` 相关的编译选项请参考:`CUDA Compiler Driver NVCC `_ 。默认值为 None 。 - **extra_ldflags** (list[str],可选) - 用于指定编译自定义 OP 时额外的链接选项。GCC 支持的链接选项请参考:`GCC Link Options `_ 。默认值为 None 。 diff --git a/docs/api/paddle/vision/models/ResNet_cn.rst b/docs/api/paddle/vision/models/ResNet_cn.rst index 21454e2b09b..53296b94dc1 100644 --- a/docs/api/paddle/vision/models/ResNet_cn.rst +++ b/docs/api/paddle/vision/models/ResNet_cn.rst @@ -3,7 +3,7 @@ ResNet ------------------------------- -.. py:class:: paddle.vision.models.ResNet(Block, depth=50, width=64, num_classes=1000, with_pool=True, groups=1) +.. py:class:: paddle.vision.models.ResNet(block, depth=50, width=64, num_classes=1000, with_pool=True, groups=1) ResNet 模型,来自论文 `"Deep Residual Learning for Image Recognition" `_ 。 @@ -11,7 +11,7 @@ ResNet 模型,来自论文 `"Deep Residual Learning for Image Recognition"