Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
a8e18549
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a8e18549
编写于
12月 25, 2017
作者:
D
dangqingqing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix the clang format.
上级
d760b6a5
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
14 addition
and
21 deletion
+14
-21
paddle/operators/lstm_op.h
paddle/operators/lstm_op.h
+1
-1
paddle/operators/math/detail/activation_functions.h
paddle/operators/math/detail/activation_functions.h
+3
-4
paddle/operators/math/detail/lstm_cpu_kernel.h
paddle/operators/math/detail/lstm_cpu_kernel.h
+3
-6
paddle/operators/math/detail/lstm_gpu_kernel.h
paddle/operators/math/detail/lstm_gpu_kernel.h
+2
-4
paddle/operators/math/lstm_compute.cu
paddle/operators/math/lstm_compute.cu
+4
-4
paddle/operators/math/lstm_compute.h
paddle/operators/math/lstm_compute.h
+1
-2
未找到文件。
paddle/operators/lstm_op.h
浏览文件 @
a8e18549
...
@@ -14,10 +14,10 @@ limitations under the License. */
...
@@ -14,10 +14,10 @@ limitations under the License. */
#pragma once
#pragma once
#include "paddle/framework/op_registry.h"
#include "paddle/framework/op_registry.h"
#include "paddle/operators/math/detail/activation_functions.h"
#include "paddle/operators/math/lstm_compute.h"
#include "paddle/operators/math/lstm_compute.h"
#include "paddle/operators/math/math_function.h"
#include "paddle/operators/math/math_function.h"
#include "paddle/operators/math/sequence2batch.h"
#include "paddle/operators/math/sequence2batch.h"
#include "paddle/operators/math/detail/activation_functions.h"
namespace
paddle
{
namespace
paddle
{
namespace
operators
{
namespace
operators
{
...
...
paddle/operators/math/detail/activation_functions.h
浏览文件 @
a8e18549
...
@@ -14,8 +14,8 @@ limitations under the License. */
...
@@ -14,8 +14,8 @@ limitations under the License. */
#pragma once
#pragma once
#include <math.h>
#include <math.h>
#include "paddle/platform/hostdevice.h"
#include "paddle/platform/enforce.h"
#include "paddle/platform/enforce.h"
#include "paddle/platform/hostdevice.h"
#ifdef __AVX__
#ifdef __AVX__
#include <immintrin.h>
#include <immintrin.h>
...
@@ -37,20 +37,19 @@ enum ActivationType {
...
@@ -37,20 +37,19 @@ enum ActivationType {
kIdentity
,
kIdentity
,
};
};
inline
ActivationType
GetActivationType
(
const
std
::
string
&
type
)
{
inline
ActivationType
GetActivationType
(
const
std
::
string
&
type
)
{
if
(
type
==
"sigmoid"
)
{
if
(
type
==
"sigmoid"
)
{
return
ActivationType
::
kSigmoid
;
return
ActivationType
::
kSigmoid
;
}
else
if
(
type
==
"relu"
)
{
}
else
if
(
type
==
"relu"
)
{
return
ActivationType
::
kReLU
;
return
ActivationType
::
kReLU
;
}
else
if
(
type
==
"tanh"
)
{
}
else
if
(
type
==
"tanh"
)
{
return
ActivationType
::
kTanh
;
return
ActivationType
::
kTanh
;
}
else
if
(
type
==
"identity"
)
{
}
else
if
(
type
==
"identity"
||
type
==
""
)
{
return
ActivationType
::
kIdentity
;
return
ActivationType
::
kIdentity
;
}
}
PADDLE_THROW
(
"Not support type %s."
,
type
);
PADDLE_THROW
(
"Not support type %s."
,
type
);
}
}
namespace
forward
{
namespace
forward
{
template
<
typename
T
>
template
<
typename
T
>
...
...
paddle/operators/math/detail/lstm_cpu_kernel.h
浏览文件 @
a8e18549
...
@@ -26,8 +26,7 @@ namespace detail {
...
@@ -26,8 +26,7 @@ namespace detail {
template
<
class
T
,
class
Op
>
template
<
class
T
,
class
Op
>
void
naive_lstm_forward_one_sequence
(
Op
op
,
LstmMetaValue
<
T
>
value
,
void
naive_lstm_forward_one_sequence
(
Op
op
,
LstmMetaValue
<
T
>
value
,
int
frame_size
,
int
frame_size
,
ActivationType
active_node
,
ActivationType
active_node
,
ActivationType
active_gate
,
ActivationType
active_gate
,
ActivationType
active_state
)
{
ActivationType
active_state
)
{
T
r_value_in
;
T
r_value_in
;
...
@@ -149,8 +148,7 @@ void naive_lstm_backward_one_sequence(Op op, LstmMetaValue<T> value,
...
@@ -149,8 +148,7 @@ void naive_lstm_backward_one_sequence(Op op, LstmMetaValue<T> value,
template
<
class
T
,
class
Op
>
template
<
class
T
,
class
Op
>
void
avx_lstm_forward_one_sequence
(
Op
op
,
LstmMetaValue
<
T
>
value
,
void
avx_lstm_forward_one_sequence
(
Op
op
,
LstmMetaValue
<
T
>
value
,
int
frame_size
,
int
frame_size
,
ActivationType
active_node
,
ActivationType
active_node
,
ActivationType
active_gate
,
ActivationType
active_gate
,
ActivationType
active_state
)
{
ActivationType
active_state
)
{
#ifdef __AVX__
#ifdef __AVX__
...
@@ -281,8 +279,7 @@ void avx_lstm_backward_one_sequence(Op op, LstmMetaValue<T> value,
...
@@ -281,8 +279,7 @@ void avx_lstm_backward_one_sequence(Op op, LstmMetaValue<T> value,
template
<
class
T
,
class
Op
>
template
<
class
T
,
class
Op
>
void
cpu_lstm_forward
(
Op
op
,
LstmMetaValue
<
T
>
value
,
int
frame_size
,
void
cpu_lstm_forward
(
Op
op
,
LstmMetaValue
<
T
>
value
,
int
frame_size
,
ActivationType
active_node
,
ActivationType
active_node
,
ActivationType
active_gate
,
ActivationType
active_gate
,
ActivationType
active_state
)
{
ActivationType
active_state
)
{
if
(
Op
::
avx
&&
!
(
frame_size
&
(
8
-
1
))
&&
(
std
::
is_same
<
T
,
float
>::
value
))
{
if
(
Op
::
avx
&&
!
(
frame_size
&
(
8
-
1
))
&&
(
std
::
is_same
<
T
,
float
>::
value
))
{
avx_lstm_forward_one_sequence
<
T
>
(
op
,
value
,
frame_size
,
active_node
,
avx_lstm_forward_one_sequence
<
T
>
(
op
,
value
,
frame_size
,
active_node
,
...
...
paddle/operators/math/detail/lstm_gpu_kernel.h
浏览文件 @
a8e18549
...
@@ -185,8 +185,7 @@ __global__ void KeLstmBackward(Op op, LstmMetaValue<T> value,
...
@@ -185,8 +185,7 @@ __global__ void KeLstmBackward(Op op, LstmMetaValue<T> value,
template
<
class
T
,
class
Op
>
template
<
class
T
,
class
Op
>
void
gpu_lstm_forward
(
const
platform
::
DeviceContext
&
context
,
Op
op
,
void
gpu_lstm_forward
(
const
platform
::
DeviceContext
&
context
,
Op
op
,
LstmMetaValue
<
T
>
value
,
int
frame_size
,
int
batch_size
,
LstmMetaValue
<
T
>
value
,
int
frame_size
,
int
batch_size
,
ActivationType
active_node
,
ActivationType
active_node
,
ActivationType
active_gate
,
ActivationType
active_gate
,
ActivationType
active_state
)
{
ActivationType
active_state
)
{
dim3
threads
;
dim3
threads
;
dim3
grid
;
dim3
grid
;
...
@@ -220,8 +219,7 @@ template <class T, class Op>
...
@@ -220,8 +219,7 @@ template <class T, class Op>
void
gpu_lstm_backward
(
const
platform
::
DeviceContext
&
context
,
Op
op
,
void
gpu_lstm_backward
(
const
platform
::
DeviceContext
&
context
,
Op
op
,
LstmMetaValue
<
T
>
value
,
LstmMetaGrad
<
T
>
grad
,
LstmMetaValue
<
T
>
value
,
LstmMetaGrad
<
T
>
grad
,
int
frame_size
,
int
batch_size
,
int
frame_size
,
int
batch_size
,
ActivationType
active_node
,
ActivationType
active_node
,
ActivationType
active_gate
,
ActivationType
active_gate
,
ActivationType
active_state
)
{
ActivationType
active_state
)
{
dim3
threads
;
dim3
threads
;
dim3
grid
;
dim3
grid
;
...
...
paddle/operators/math/lstm_compute.cu
浏览文件 @
a8e18549
...
@@ -28,8 +28,8 @@ struct LstmUnitFunctor<platform::CUDADeviceContext, T> {
...
@@ -28,8 +28,8 @@ struct LstmUnitFunctor<platform::CUDADeviceContext, T> {
const
detail
::
ActivationType
&
cell_act
,
const
detail
::
ActivationType
&
cell_act
,
const
detail
::
ActivationType
&
cand_act
)
{
const
detail
::
ActivationType
&
cand_act
)
{
detail
::
gpu_lstm_forward
<
T
>
(
context
,
detail
::
forward
::
lstm
<
T
>
(),
value
,
detail
::
gpu_lstm_forward
<
T
>
(
context
,
detail
::
forward
::
lstm
<
T
>
(),
value
,
frame_size
,
batch_size
,
cand_act
,
frame_size
,
batch_size
,
cand_act
,
gate_act
,
gate_act
,
cell_act
);
cell_act
);
}
}
};
};
...
@@ -42,8 +42,8 @@ struct LstmUnitGradFunctor<platform::CUDADeviceContext, T> {
...
@@ -42,8 +42,8 @@ struct LstmUnitGradFunctor<platform::CUDADeviceContext, T> {
const
detail
::
ActivationType
&
cell_act
,
const
detail
::
ActivationType
&
cell_act
,
const
detail
::
ActivationType
&
cand_act
)
{
const
detail
::
ActivationType
&
cand_act
)
{
detail
::
gpu_lstm_backward
(
context
,
detail
::
backward
::
lstm
<
T
>
(),
value
,
grad
,
detail
::
gpu_lstm_backward
(
context
,
detail
::
backward
::
lstm
<
T
>
(),
value
,
grad
,
frame_size
,
batch_size
,
cand_act
,
frame_size
,
batch_size
,
cand_act
,
gate_act
,
gate_act
,
cell_act
);
cell_act
);
}
}
};
};
...
...
paddle/operators/math/lstm_compute.h
浏览文件 @
a8e18549
...
@@ -14,9 +14,9 @@ limitations under the License. */
...
@@ -14,9 +14,9 @@ limitations under the License. */
#pragma once
#pragma once
#include "paddle/operators/math/detail/activation_functions.h"
#include "paddle/platform/device_context.h"
#include "paddle/platform/device_context.h"
#include "paddle/platform/enforce.h"
#include "paddle/platform/enforce.h"
#include "paddle/operators/math/detail/activation_functions.h"
namespace
paddle
{
namespace
paddle
{
namespace
operators
{
namespace
operators
{
...
@@ -30,7 +30,6 @@ typedef enum {
...
@@ -30,7 +30,6 @@ typedef enum {
HL_ACTIVATION_END
HL_ACTIVATION_END
}
activation_mode_t
;
}
activation_mode_t
;
template
<
class
T
>
template
<
class
T
>
struct
LstmMetaValue
{
struct
LstmMetaValue
{
T
*
gate_value
;
T
*
gate_value
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录