Skip to content

Commit 0bc3c27

Browse files
【Hackathon 5th No.20】为 Paddle 新增 Exponential 和 Gamma API (#6413)
* add Exponential and Gamma docs * Update Exponential_cn.rst * Update Gamma_cn.rst
1 parent 94d346d commit 0bc3c27

File tree

3 files changed

+298
-0
lines changed

3 files changed

+298
-0
lines changed
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
.. _cn_api_paddle_distribution_Exponential:
2+
3+
Exponential
4+
-------------------------------
5+
6+
.. py:class:: paddle.distribution.Exponential(rate)
7+
8+
指数分布
9+
10+
指数分布的概率密度满足一下公式:
11+
12+
.. math::
13+
14+
f(x; \theta) = \theta e^{- \theta x }, (x \ge 0) $$
15+
16+
上面数学公式中:
17+
18+
:math:`rate=\theta`:表示率参数。
19+
20+
21+
参数
22+
::::::::::::
23+
24+
- **rate** (float|Tensor) - 率参数,该值必须大于零。
25+
26+
代码示例
27+
::::::::::::
28+
29+
COPY-FROM: paddle.distribution.Exponential
30+
31+
属性
32+
:::::::::
33+
34+
mean
35+
'''''''''
36+
指数分布的均值。
37+
38+
39+
variance
40+
'''''''''
41+
指数分布的方差。
42+
43+
44+
方法
45+
:::::::::
46+
47+
prob(value)
48+
'''''''''
49+
指数分布的概率密度函数。
50+
51+
**参数**
52+
53+
- **value** (float|Tensor) - 输入值。
54+
55+
数学公式:
56+
.. math::
57+
58+
f(x; \theta) = \theta e^{- \theta x }, (x \ge 0) $$
59+
60+
上面数学公式中:
61+
62+
:math:`rate=\theta`:表示率参数。
63+
64+
**返回**
65+
66+
- **Tensor** - value 对应的概率密度。
67+
68+
69+
log_prob(value)
70+
'''''''''
71+
指数分布的对数概率密度函数。
72+
73+
**参数**
74+
75+
- **value** (float|Tensor) - 输入值。
76+
77+
**返回**
78+
79+
- **Tensor** - value 对应的对数概率密度。
80+
81+
entropy()
82+
'''''''''
83+
指数分布的信息熵。
84+
85+
**返回**
86+
87+
- Tensor: 信息熵。
88+
89+
cdf(k)
90+
'''''''''
91+
指数分布的累积分布函数。
92+
93+
**参数**
94+
95+
- **value** (float|Tensor) - 输入值。
96+
97+
数学公式:
98+
99+
.. math::
100+
101+
cdf(x; \theta) = 1 - e^{- \theta x }, (x \ge 0)
102+
103+
上面的数学公式中:
104+
105+
:math:`rate=\theta`:表示率参数。
106+
107+
**返回**
108+
109+
- Tensor: value 对应的累积分布。
110+
111+
icdf(k)
112+
'''''''''
113+
指数分布的逆累积分布函数。
114+
115+
**参数**
116+
117+
- **value** (float|Tensor) - 输入值。
118+
119+
数学公式:
120+
121+
.. math::
122+
123+
icdf(x; \theta) = -\frac{ 1 }{ \theta } ln(1 + x), (x \ge 0)
124+
125+
上面的数学公式中:
126+
127+
:math:`rate=\theta`:表示率参数。
128+
129+
**返回**
130+
131+
- Tensor: value 对应的逆累积分布。
132+
133+
134+
kl_divergence(other)
135+
'''''''''
136+
两个指数分布之间的 KL 散度。
137+
138+
**参数**
139+
140+
- **other** (Geometric) - Exponential 的实例。
141+
142+
**返回**
143+
144+
- Tensor: 两个指数分布之间的 KL 散度。
145+
146+
147+
sample(shape)
148+
'''''''''
149+
随机采样,生成指定维度的样本。
150+
151+
**参数**
152+
153+
- **shape** (Sequence[int], optional) - 采样的样本维度。
154+
155+
**返回**
156+
157+
- **Tensor** - 指定维度的样本数据。数据类型为 float32。
158+
159+
160+
rsample(shape)
161+
'''''''''
162+
重参数化采样,生成指定维度的样本。
163+
164+
**参数**
165+
166+
- **shape** (Sequence[int], optional) - 重参数化采样的样本维度。
167+
168+
**返回**
169+
170+
- **Tensor** - 指定维度的样本数据。数据类型为 float32。
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
.. _cn_api_paddle_distribution_Gamma:
2+
3+
Gamma
4+
-------------------------------
5+
6+
.. py:class:: paddle.distribution.Gamma(concentration, rate)
7+
8+
伽马分布
9+
10+
伽马分布的概率密度满足一下公式:
11+
12+
.. math::
13+
14+
f(x; \alpha, \beta, x > 0) = \frac{\beta^{\alpha}}{\Gamma(\alpha)} x^{\alpha-1}e^{-\beta x}
15+
16+
\Gamma(\alpha)=\int_{0}^{\infty} x^{\alpha-1} e^{-x} \mathrm{~d} x, (\alpha>0)
17+
18+
上面数学公式中:
19+
20+
:math:`concentration=\alpha`:表示集中参数。
21+
22+
:math:`rate=\beta`:表示率参数。
23+
24+
25+
参数
26+
::::::::::::
27+
28+
- **concentration** (float|Tensor) - 率参数,该值必须大于零。支持 Broadcast 语义。当参数类型为 Tensor 时,表示批量创建多个不同参数的分布,``batch_shape`` (参考 :ref:`cn_api_paddle_distribution_Distribution` 基类) 为参数。
29+
30+
- **rate** (float|Tensor) - 率参数,该值必须大于零。支持 Broadcast 语义。当参数类型为 Tensor 时,表示批量创建多个不同参数的分布,``batch_shape`` (参考 :ref:`cn_api_paddle_distribution_Distribution` 基类) 为参数。
31+
32+
代码示例
33+
::::::::::::
34+
35+
COPY-FROM: paddle.distribution.Gamma
36+
37+
38+
属性
39+
:::::::::
40+
41+
mean
42+
'''''''''
43+
伽马分布的均值。
44+
45+
46+
variance
47+
'''''''''
48+
伽马分布的方差。
49+
50+
51+
方法
52+
:::::::::
53+
54+
prob(value)
55+
'''''''''
56+
伽马分布的概率密度函数。
57+
58+
**参数**
59+
60+
- **value** (float|Tensor) - 输入值。
61+
62+
63+
**返回**
64+
65+
- **Tensor** - value 对应的概率密度。
66+
67+
68+
log_prob(value)
69+
'''''''''
70+
伽马分布的对数概率密度函数。
71+
72+
**参数**
73+
74+
- **value** (float|Tensor) - 输入值。
75+
76+
**返回**
77+
78+
- **Tensor** - value 对应的对数概率密度。
79+
80+
81+
entropy()
82+
'''''''''
83+
伽马分布的信息熵。
84+
85+
**返回**
86+
87+
- Tensor: 信息熵。
88+
89+
90+
kl_divergence(other)
91+
'''''''''
92+
两个伽马分布之间的 KL 散度。
93+
94+
**参数**
95+
96+
- **other** (Geometric) - Gamma 的实例。
97+
98+
**返回**
99+
100+
- Tensor: 两个伽马分布之间的 KL 散度。
101+
102+
103+
sample(shape)
104+
'''''''''
105+
随机采样,生成指定维度的样本。
106+
107+
**参数**
108+
109+
- **shape** (Sequence[int], optional) - 采样的样本维度。
110+
111+
**返回**
112+
113+
- **Tensor** - 指定维度的样本数据。数据类型为 float32。
114+
115+
116+
rsample(shape)
117+
'''''''''
118+
重参数化采样,生成指定维度的样本。
119+
120+
**参数**
121+
122+
- **shape** (Sequence[int], optional) - 重参数化采样的样本维度。
123+
124+
**返回**
125+
126+
- **Tensor** - 指定维度的样本数据。数据类型为 float32。

docs/api/paddle/distribution/Overview_cn.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ paddle.distribution 目录下包含飞桨框架支持的随机变量的概率分
4040
" :ref:`Poisson <cn_api_paddle_distribution_Poisson>` ", "Poisson 概率分布类"
4141
" :ref:`Gumbel <cn_api_paddle_distribution_Gumbel>` ", "Gumbel 概率分布类"
4242
" :ref:`Geometric <cn_api_paddle_distribution_Geometric>` ", "Geometric 概率分布类"
43+
" :ref:`Exponential <cn_api_paddle_distribution_Exponential>` ", "Exponential 概率分布类"
44+
" :ref:`Gamma <cn_api_paddle_distribution_Gamma>` ", "Gamma 概率分布类"
4345

4446
.. _about_distribution_transform:
4547

0 commit comments

Comments
 (0)