Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
2289c141
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2289c141
编写于
9月 26, 2016
作者:
L
liuyuan
提交者:
qingqing01
9月 26, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refine comment for CRF related headers. (#117)
上级
332194c8
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
25 addition
and
25 deletion
+25
-25
paddle/gserver/layers/CRFLayer.h
paddle/gserver/layers/CRFLayer.h
+1
-1
paddle/gserver/layers/LinearChainCRF.h
paddle/gserver/layers/LinearChainCRF.h
+24
-24
未找到文件。
paddle/gserver/layers/CRFLayer.h
浏览文件 @
2289c141
...
@@ -25,7 +25,7 @@ namespace paddle {
...
@@ -25,7 +25,7 @@ namespace paddle {
/**
/**
* A layer for calculating the cost of sequential conditional random field
* A layer for calculating the cost of sequential conditional random field
* model.
* model.
* See
LinearChainCRF.h
for the detail of the CRF formulation.
* See
class LinearChainCRF
for the detail of the CRF formulation.
*/
*/
class
CRFLayer
:
public
Layer
{
class
CRFLayer
:
public
Layer
{
public:
public:
...
...
paddle/gserver/layers/LinearChainCRF.h
浏览文件 @
2289c141
...
@@ -21,39 +21,39 @@ namespace paddle {
...
@@ -21,39 +21,39 @@ namespace paddle {
class
LinearChainCRF
{
class
LinearChainCRF
{
public:
public:
/*
/*
*
The size of para and grad must be (numClasses + 2) * numClasses
.
* The size of para and grad must be \f$(numClasses + 2) * numClasses\f$
.
The first numClasses values of para are for starting weights (a
).
* The first numClasses values of para are for starting weights (\f$a\f$
).
The next numClasses values of para are for ending weights (b
),
* The next numClasses values of para are for ending weights (\f$b\f$
),
The remaning values are for transition weights (w
).
* The remaning values are for transition weights (\f$w\f$
).
*
The probability of a state sequence s of length L
is defined as:
* The probability of a state sequence s of length \f$L\f$
is defined as:
P(s) = (1/Z) exp(a_{s_1} + b_{s_L}
* \f$
P(s) = (1/Z) exp(a_{s_1} + b_{s_L}
+ \sum_{l=1}^L x_{s_l}
*
+ \sum_{l=1}^L x_{s_l}
+ \sum_{l=2}^L w_{s_{l-1},s_l})
* + \sum_{l=2}^L w_{s_{l-1},s_l})\f$
where Z is a normalization value so that the sum of P(s)
over all possible
* where \f$Z\f$ is a normalization value so that the sum of \f$P(s)\f$
over all possible
sequences is 1, and x
is the input feature to the CRF.
* sequences is \f$1\f$, and \f$x\f$
is the input feature to the CRF.
*/
*/
LinearChainCRF
(
int
numClasses
,
real
*
para
,
real
*
grad
);
LinearChainCRF
(
int
numClasses
,
real
*
para
,
real
*
grad
);
/*
/*
*
Calculate the negative log likelihood of s given x.
*
Calculate the negative log likelihood of s given x.
The size of x must be length * numClasses. Each consecutive numClasses
*
The size of x must be length * numClasses. Each consecutive numClasses
values are the features for one time step.
*
values are the features for one time step.
*/
*/
real
forward
(
real
*
x
,
int
*
s
,
int
length
);
real
forward
(
real
*
x
,
int
*
s
,
int
length
);
/*
/*
*
Calculate the gradient with respect to x, a, b, and w.
*
Calculate the gradient with respect to x, a, b, and w.
The gradient of x will be stored in dx.
*
The gradient of x will be stored in dx.
backward() can only be called after a corresponding call to forward() with
*
backward() can only be called after a corresponding call to forward() with
the same x, s and length.
*
the same x, s and length.
NOTE:
The gradient is added to dx and grad (provided at constructor).
* @note
The gradient is added to dx and grad (provided at constructor).
*/
*/
void
backward
(
real
*
x
,
real
*
dx
,
int
*
s
,
int
length
);
void
backward
(
real
*
x
,
real
*
dx
,
int
*
s
,
int
length
);
/*
/*
*
Find the most probable sequence given x. The result will be stored in s.
*
Find the most probable sequence given x. The result will be stored in s.
*/
*/
void
decode
(
real
*
x
,
int
*
s
,
int
length
);
void
decode
(
real
*
x
,
int
*
s
,
int
length
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录