提交 640bde27 编写于 作者: L LielinJiang 提交者: lvmengsi

Refine cn document, test=document_preview (#1293)

* test=document_preview

* refine cn doc

* refine cn doc

* refine cn doc

* refine cn doc
上级 7da34185
...@@ -22,89 +22,88 @@ Normal ...@@ -22,89 +22,88 @@ Normal
:math:`Z`: 正态分布常量。 :math:`Z`: 正态分布常量。
参数: 参数:
- **loc** (float|list|numpy.ndarray|Variable) - 正态分布平均值。 - **loc** (float|list|numpy.ndarray|Variable) - 正态分布平均值。数据类型为float32。
- **scale** (float|list|numpy.ndarray|Variable) - 正态分布标准差。 - **scale** (float|list|numpy.ndarray|Variable) - 正态分布标准差。数据类型为float32。
**代码示例**: **代码示例**:
.. code-block:: python .. code-block:: python
import numpy as np
from paddle.fluid import layers from paddle.fluid import layers
from paddle.fluid.layers import Normal from paddle.fluid.layers import Normal
# 定义单个数的正态分布。 # 定义参数为float的正态分布。
dist = Normal(loc=0., scale=3.) dist = Normal(loc=0., scale=3.)
# 定义一组有两个数的正态分布。 # 定义一组有两个数的正态分布。
# 第一组为均值1,标准差11,第二组为均值2,标准差22。 # 第一组为均值1,标准差11,第二组为均值2,标准差22。
dist = Normal(loc=[1, 2.], scale=[11, 22.]) dist = Normal(loc=[1., 2.], scale=[11., 22.])
# 得到3个样本, 返回一个 3 x 2 量。 # 得到3个样本, 返回一个 3 x 2 量。
dist.sample([3]) dist.sample([3])
# 定义一个为两个参数的正态分布。 # 通过广播的方式,定义一个两个参数的正态分布。
# 均值都是1,标准差不同。 # 均值都是1,标准差不同。
dist = Normal(loc=1., scale=[11, 22.]) dist = Normal(loc=1., scale=[11., 22.])
# 输入变量 # 一个完整的例子
dims = 3 value_npdata = np.array([0.8], dtype="float32")
value_tensor = layers.create_tensor(dtype="float32")
layers.assign(value_npdata, value_tensor)
loc = layers.data(name='loc', shape=[dims], dtype='float32') normal_a = Normal([0.], [1.])
scale = layers.data(name='scale', shape=[dims], dtype='float32') normal_b = Normal([0.5], [2.])
other_loc = layers.data(
name='other_loc', shape=[dims], dtype='float32')
other_scale = layers.data(
name='other_scale', shape=[dims], dtype='float32')
values = layers.data(name='values', shape=[dims], dtype='float32')
normal = Normal(loc, scale) sample = normal_a.sample([2])
other_normal = Normal(other_loc, other_scale) # 一个由定义好的正太分布随机生成的张量,维度为: [2, 1]
entropy = normal_a.entropy()
sample = normal.sample([2, 3]) # [1.4189385] with shape: [1]
entropy = normal.entropy() lp = normal_a.log_prob(value_tensor)
lp = normal.log_prob(values) # [-1.2389386] with shape: [1]
kl = normal.kl_divergence(other_normal) kl = normal_a.kl_divergence(normal_b)
# [0.34939718] with shape: [1]
.. py:function:: sample(shape, seed=0) .. py:function:: sample(shape, seed=0)
生成指定形状的样本 生成指定维度的样本
参数: 参数:
- **shape** (list) - int32的1维列表,指定生成样本的shape - **shape** (list) - 1维列表,指定生成样本的维度。数据类型为int32
- **seed** (int) - 长整型数 - **seed** (int) - 长整型数
返回:预备好维度shape的向量 返回:预先设计好维度的张量, 数据类型为float32
返回类型:变量(Variable) 返回类型:Variable
.. py:function:: entropy() .. py:function:: entropy()
信息熵 信息熵
返回:正态分布的信息熵 返回:正态分布的信息熵, 数据类型为float32
返回类型:变量(Variable) 返回类型:Variable
.. py:function:: log_prob(value) .. py:function:: log_prob(value)
Log概率密度函数 对数概率密度函数
参数: 参数:
- **value** (Variable) - 输入向量 - **value** (Variable) - 输入张量。数据类型为float32或float64
返回:log概率 返回:对数概率, 数据类型与value相同
返回类型:变量(Variable) 返回类型:Variable
.. py:function:: kl_divergence(other) .. py:function:: kl_divergence(other)
两个正态分布之间的KL-divergence 两个正态分布之间的KL散度
参数: 参数:
- **other** (Normal) - Normal实例。 - **other** (Normal) - Normal实例。
返回:两个正态分布之间的KL-divergence 返回:两个正态分布之间的KL散度, 数据类型为float32
返回类型:变量(Variable) 返回类型:Variable
......
...@@ -21,88 +21,80 @@ Uniform ...@@ -21,88 +21,80 @@ Uniform
:math:`high = b` 。 :math:`high = b` 。
:math:`Z`: 正态分布常量。 :math:`Z`: 正态分布常量。
参数low和high应该为可支持广播的shape 参数low和high的维度必须能够支持广播
参数: 参数:
- **low** (float|list|numpy.ndarray|Variable) - 均匀分布的较低边界 - **low** (float|list|numpy.ndarray|Variable) - 均匀分布的下边界。数据类型为float32
- **high** (float|list|numpy.ndarray|Variable) - 均匀分布的较高边界 - **high** (float|list|numpy.ndarray|Variable) - 均匀分布的上边界。数据类型为float32
**代码示例**: **代码示例**:
.. code-block:: python .. code-block:: python
import numpy as np
from paddle.fluid import layers from paddle.fluid import layers
from paddle.fluid.layers import Uniform from paddle.fluid.layers import Uniform
# 一个未广播的单独的均匀分布 [3, 4]: # 定义参数为float的均匀分布
u1 = Uniform(low=3.0, high=4.0) u1 = Uniform(low=3.0, high=4.0)
# 两个分布 [1, 3], [2, 4] # 定义参数为list的均匀分布
u2 = Uniform(low=[1.0, 2.0], u2 = Uniform(low=[1.0, 2.0],
high=[3.0, 4.0]) high=[3.0, 4.0])
# 4个分布 # 通过广播的方式,定义一个均匀分布
u3 = Uniform(low=[[1.0, 2.0], u3 = Uniform(low=[[1.0, 2.0],
[3.0, 4.0]], [3.0, 4.0]],
high=[[1.5, 2.5], high=[[1.5, 2.5],
[3.5, 4.5]]) [3.5, 4.5]])
# 广播: # 通过广播的方式,定义一个均匀分布
u4 = Uniform(low=3.0, high=[5.0, 6.0, 7.0]) u4 = Uniform(low=3.0, high=[5.0, 6.0, 7.0])
# 作为输入的变量 # 一个完整的例子
dims = 3 value_npdata = np.array([0.8], dtype="float32")
value_tensor = layers.create_tensor(dtype="float32")
layers.assign(value_npdata, value_tensor)
low = layers.data(name='low', shape=[dims], dtype='float32') uniform = Uniform([0.], [2.])
high = layers.data(name='high', shape=[dims], dtype='float32')
values = layers.data(name='values', shape=[dims], dtype='float32')
uniform = Uniform(low, high) sample = uniform.sample([2])
# 一个由定义好的均匀分布随机生成的张量,维度为: [2, 1]
sample = uniform.sample([2, 3])
entropy = uniform.entropy() entropy = uniform.entropy()
lp = uniform.log_prob(values) # [0.6931472] with shape: [1]
lp = uniform.log_prob(value_tensor)
# [-0.6931472] with shape: [1]
.. py:function:: sample(shape, seed=0) .. py:function:: sample(shape, seed=0)
生成指定形状的样本 生成指定维度的样本
参数: 参数:
- **shape** (list) - int32的1维列表,指定生成样本的shape - **shape** (list) - 1维列表,指定生成样本的维度。数据类型为int32
- **seed** (int) - 长整型数 - **seed** (int) - 长整型数
返回:预备好维度shape的向量 返回:预先设计好维度的张量, 数据类型为float32
返回类型:变量(Variable) 返回类型:Variable
.. py:function:: entropy() .. py:function:: entropy()
信息熵 信息熵
返回:正态分布的信息熵 返回:均匀分布的信息熵, 数据类型为float32
返回类型:变量(Variable) 返回类型:Variable
.. py:function:: log_prob(value) .. py:function:: log_prob(value)
Log概率密度函数 对数概率密度函数
参数: 参数:
- **value** (Variable) - 输入向量 - **value** (Variable) - 输入张量。数据类型为float32或float64
返回:log概率 返回:对数概率, 数据类型与value相同
返回类型:变量(Variable)
.. py:function:: kl_divergence(other)
两个正态分布之间的KL-divergence。 返回类型:Variable
参数:
- **other** (Normal) - Normal实例。
返回:两个正态分布之间的KL-divergence
返回类型:变量(Variable)
......
...@@ -5,19 +5,21 @@ affine_channel ...@@ -5,19 +5,21 @@ affine_channel
.. py:function:: paddle.fluid.layers.affine_channel(x, scale=None, bias=None, data_layout='NCHW', name=None,act=None) .. py:function:: paddle.fluid.layers.affine_channel(x, scale=None, bias=None, data_layout='NCHW', name=None,act=None)
对输入的每个 channel 应用单独的仿射变换。用于将空间批处理范数替换为其等价的固定变换。 对输入的每个 channel 应用单独的仿射变换。用于将空间批量归一化替换为其等价的固定变换。
输入也可以是二维张量,并在二维应用仿射变换。 输入也可以是二维张量,并在二维应用仿射变换。
参数: 参数:
- **x** (Variable):特征图输入可以是一个具有NCHW阶或NHWC阶的4D张量。它也可以是二维张量和应用于第二维度的仿射变换。 - **x** (Variable): 特征图输入可以是一个具有NCHW格式或NHWC格式的的4-D张量。它也可以是二维张量,此时该算法应用于第二维度的仿射变换。数据类型为float32或float64。
- **scale** (Variable): 形状为(C)的一维输入,第C个元素为输入的第C通道仿射变换的尺度因子。 - **scale** (Variable): 维度为(C)的一维输入,第C个元素为输入的第C通道仿射变换的尺度因子。数据类型为float32或float64。
- **bias** (Variable):形状为(C)的一维输入,第C个元素是输入的第C个通道的仿射变换的偏置。 - **bias** (Variable): 维度为(C)的一维输入,第C个元素是输入的第C个通道的仿射变换的偏置。数据类型为float32或float64。
- **data_layout** (string, default NCHW): NCHW 或 NHWC,如果输入是一个2D张量,可以忽略该参数 - **data_layout** (str): NCHW 或 NHWC,如果输入是一个2D张量,可以忽略该参数,默认值为"NCHW"。
- **name** (str, default None): 此层的名称 - **name** (str): 此层的名称,默认值为None。
- **act** (str, default None): 应用于该层输出的激活函数 - **act** (str): 应用于该层输出的激活函数,默认值为None。
返回: out (Variable): 与x具有相同形状和数据布局的张量。 返回:与x具有相同维度和数据布局的张量, 数据类型与x相同
返回类型:Variable
**代码示例:** **代码示例:**
......
...@@ -7,18 +7,18 @@ iou_similarity ...@@ -7,18 +7,18 @@ iou_similarity
**IOU Similarity Operator** **IOU Similarity Operator**
计算两个框列表的intersection-over-union(IOU)。框列表‘X’应为LoDTensor,‘Y’是普通张量,X成批输入的所有实例共享‘Y’中的框。给定框A和框B,IOU的运算如下: 计算两个框列表的intersection-over-union(IOU)。框列表 :math:`X` 应为LoDTensor, :math:`Y` 是普通张量, :math:`X` 成批输入的所有实例共享 :math:`Y` 中的框。给定框A和框B,IOU的运算如下:
.. math:: .. math::
IOU(A, B) = \frac{area(A\cap B)}{area(A)+area(B)-area(A\cap B)} IOU(A, B) = \frac{area(A\cap B)}{area(A)+area(B)-area(A\cap B)}
参数: 参数:
- **x** (Variable,默认LoDTensor,float类型) - 框列表X是二维LoDTensor,shape为[N,4],存有N个框,每个框代表[xmin,ymin,xmax,ymax],X的shape为[N,4]。如果输入是图像特征图,[xmin,ymin]市框的左上角坐标,接近坐标轴的原点。[xmax,ymax]是框的右下角坐标。张量可以包含代表一批输入的LoD信息。该批的一个实例能容纳不同的项数 - **x** (Variable) - 框列表 :math:`X` 是二维LoDTensor,维度为 :math:`[N,4]` ,存有 :math:`N` 个框,每个框表示为 :math:`[xmin, ymin, xmax, ymax]` ,:math:`X` 的维度为 :math:`[N,4]` 。如果输入是图像特征图,:math:`[xmin, ymin]` 表示框的左上角坐标,接近坐标轴的原点。:math:`[xmax, ymax]` 表示框的右下角坐标。该张量包含批次输入的LoD信息。该批次输入的一个实例能容纳不同的项数。数据类型为float32或float64。
- **y** (Variable,张量,默认float类型的张量) - 框列表Y存有M个框,每个框代表[xmin,ymin,xmax,ymax],X的shape为[N,4]。如果输入是图像特征图,[xmin,ymin]市框的左上角坐标,接近坐标轴的原点。[xmax,ymax]是框的右下角坐标。张量可以包含代表一批输入的LoD信息 - **y** (Variable) - 框列表 :math:`Y` 是二维张量,存有 :math:`M` 个框,每个框表示为 :math:`[xmin, ymin, xmax, ymax]` ,:math:`Y` 的维度为 :math:`[M,4]`。如果输入是图像特征图,:math:`[xmin, ymin]` 表示框的左上角坐标,接近坐标轴的原点。:math:`[xmax, ymax]` 表示框的右下角坐标。数据类型为float32或float64
返回:iou_similarity操作符的输出,shape为[N,M]的张量,代表一对iou分数 返回:维度为 :math:`[N,M]` 的LoDTensor,代表每一对iou分数,数据类型与 :math:`X` 相同
返回类型:out(Variable) 返回类型:Variable
**代码示例** **代码示例**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册