Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
d84cdb7b
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看板
未验证
提交
d84cdb7b
编写于
4月 18, 2018
作者:
T
Tao Luo
提交者:
GitHub
4月 18, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #9911 from tonyyang-svail/unify_op_registry
Unify REGISTER_OP and REGISTER_OPERATOR
上级
1fd12840
68d96385
变更
67
隐藏空白更改
内联
并排
Showing
67 changed file
with
379 addition
and
274 deletion
+379
-274
paddle/fluid/framework/grad_op_desc_maker.h
paddle/fluid/framework/grad_op_desc_maker.h
+2
-2
paddle/fluid/framework/op_registry.h
paddle/fluid/framework/op_registry.h
+2
-30
paddle/fluid/operators/CMakeLists.txt
paddle/fluid/operators/CMakeLists.txt
+3
-3
paddle/fluid/operators/activation_op.cc
paddle/fluid/operators/activation_op.cc
+116
-85
paddle/fluid/operators/bilinear_tensor_product_op.cc
paddle/fluid/operators/bilinear_tensor_product_op.cc
+5
-3
paddle/fluid/operators/clip_op.cc
paddle/fluid/operators/clip_op.cc
+3
-2
paddle/fluid/operators/concat_op.cc
paddle/fluid/operators/concat_op.cc
+4
-2
paddle/fluid/operators/conv_op.cc
paddle/fluid/operators/conv_op.cc
+9
-6
paddle/fluid/operators/conv_shift_op.cc
paddle/fluid/operators/conv_shift_op.cc
+3
-2
paddle/fluid/operators/conv_transpose_op.cc
paddle/fluid/operators/conv_transpose_op.cc
+8
-4
paddle/fluid/operators/cos_sim_op.cc
paddle/fluid/operators/cos_sim_op.cc
+3
-2
paddle/fluid/operators/crop_op.cc
paddle/fluid/operators/crop_op.cc
+3
-1
paddle/fluid/operators/cross_entropy_op.cc
paddle/fluid/operators/cross_entropy_op.cc
+3
-2
paddle/fluid/operators/dropout_op.cc
paddle/fluid/operators/dropout_op.cc
+3
-2
paddle/fluid/operators/elementwise_div_op.cc
paddle/fluid/operators/elementwise_div_op.cc
+4
-2
paddle/fluid/operators/elementwise_max_op.cc
paddle/fluid/operators/elementwise_max_op.cc
+4
-2
paddle/fluid/operators/elementwise_min_op.cc
paddle/fluid/operators/elementwise_min_op.cc
+4
-2
paddle/fluid/operators/elementwise_mul_op.cc
paddle/fluid/operators/elementwise_mul_op.cc
+4
-2
paddle/fluid/operators/elementwise_sub_op.cc
paddle/fluid/operators/elementwise_sub_op.cc
+4
-2
paddle/fluid/operators/expand_op.cc
paddle/fluid/operators/expand_op.cc
+5
-2
paddle/fluid/operators/fc_op.cc
paddle/fluid/operators/fc_op.cc
+3
-2
paddle/fluid/operators/gather_op.cc
paddle/fluid/operators/gather_op.cc
+3
-2
paddle/fluid/operators/gru_op.cc
paddle/fluid/operators/gru_op.cc
+3
-1
paddle/fluid/operators/gru_unit_op.cc
paddle/fluid/operators/gru_unit_op.cc
+3
-2
paddle/fluid/operators/hinge_loss_op.cc
paddle/fluid/operators/hinge_loss_op.cc
+3
-2
paddle/fluid/operators/huber_loss_op.cc
paddle/fluid/operators/huber_loss_op.cc
+3
-2
paddle/fluid/operators/im2sequence_op.cc
paddle/fluid/operators/im2sequence_op.cc
+3
-2
paddle/fluid/operators/l1_norm_op.cc
paddle/fluid/operators/l1_norm_op.cc
+3
-2
paddle/fluid/operators/label_smooth_op.cc
paddle/fluid/operators/label_smooth_op.cc
+3
-2
paddle/fluid/operators/layer_norm_op.cc
paddle/fluid/operators/layer_norm_op.cc
+3
-2
paddle/fluid/operators/linear_chain_crf_op.cc
paddle/fluid/operators/linear_chain_crf_op.cc
+4
-2
paddle/fluid/operators/lod_reset_op.cc
paddle/fluid/operators/lod_reset_op.cc
+3
-2
paddle/fluid/operators/log_loss_op.cc
paddle/fluid/operators/log_loss_op.cc
+3
-2
paddle/fluid/operators/lrn_op.cc
paddle/fluid/operators/lrn_op.cc
+3
-1
paddle/fluid/operators/lstm_op.cc
paddle/fluid/operators/lstm_op.cc
+3
-1
paddle/fluid/operators/lstm_unit_op.cc
paddle/fluid/operators/lstm_unit_op.cc
+3
-2
paddle/fluid/operators/lstmp_op.cc
paddle/fluid/operators/lstmp_op.cc
+3
-2
paddle/fluid/operators/margin_rank_loss_op.cc
paddle/fluid/operators/margin_rank_loss_op.cc
+4
-3
paddle/fluid/operators/matmul_op.cc
paddle/fluid/operators/matmul_op.cc
+3
-2
paddle/fluid/operators/maxout_op.cc
paddle/fluid/operators/maxout_op.cc
+3
-2
paddle/fluid/operators/modified_huber_loss_op.cc
paddle/fluid/operators/modified_huber_loss_op.cc
+4
-3
paddle/fluid/operators/mul_op.cc
paddle/fluid/operators/mul_op.cc
+3
-1
paddle/fluid/operators/nce_op.cc
paddle/fluid/operators/nce_op.cc
+5
-1
paddle/fluid/operators/norm_op.cc
paddle/fluid/operators/norm_op.cc
+3
-2
paddle/fluid/operators/pool_op.cc
paddle/fluid/operators/pool_op.cc
+6
-4
paddle/fluid/operators/pool_with_index_op.cc
paddle/fluid/operators/pool_with_index_op.cc
+8
-6
paddle/fluid/operators/prelu_op.cc
paddle/fluid/operators/prelu_op.cc
+3
-2
paddle/fluid/operators/rank_loss_op.cc
paddle/fluid/operators/rank_loss_op.cc
+3
-2
paddle/fluid/operators/reduce_op.cc
paddle/fluid/operators/reduce_op.cc
+24
-16
paddle/fluid/operators/reshape_op.cc
paddle/fluid/operators/reshape_op.cc
+3
-2
paddle/fluid/operators/roi_pool_op.cc
paddle/fluid/operators/roi_pool_op.cc
+3
-2
paddle/fluid/operators/row_conv_op.cc
paddle/fluid/operators/row_conv_op.cc
+3
-2
paddle/fluid/operators/scatter_op.cc
paddle/fluid/operators/scatter_op.cc
+3
-2
paddle/fluid/operators/sequence_concat_op.cc
paddle/fluid/operators/sequence_concat_op.cc
+5
-3
paddle/fluid/operators/sequence_conv_op.cc
paddle/fluid/operators/sequence_conv_op.cc
+5
-2
paddle/fluid/operators/sequence_expand_op.cc
paddle/fluid/operators/sequence_expand_op.cc
+4
-2
paddle/fluid/operators/sequence_slice_op.cc
paddle/fluid/operators/sequence_slice_op.cc
+4
-2
paddle/fluid/operators/sequence_softmax_op.cc
paddle/fluid/operators/sequence_softmax_op.cc
+4
-3
paddle/fluid/operators/sigmoid_cross_entropy_with_logits_op.cc
...e/fluid/operators/sigmoid_cross_entropy_with_logits_op.cc
+6
-5
paddle/fluid/operators/smooth_l1_loss_op.cc
paddle/fluid/operators/smooth_l1_loss_op.cc
+3
-2
paddle/fluid/operators/softmax_op.cc
paddle/fluid/operators/softmax_op.cc
+3
-2
paddle/fluid/operators/spp_op.cc
paddle/fluid/operators/spp_op.cc
+3
-1
paddle/fluid/operators/squared_l2_distance_op.cc
paddle/fluid/operators/squared_l2_distance_op.cc
+4
-3
paddle/fluid/operators/squared_l2_norm_op.cc
paddle/fluid/operators/squared_l2_norm_op.cc
+4
-2
paddle/fluid/operators/transpose_op.cc
paddle/fluid/operators/transpose_op.cc
+3
-2
paddle/fluid/operators/unpool_op.cc
paddle/fluid/operators/unpool_op.cc
+3
-2
paddle/fluid/operators/warpctc_op.cc
paddle/fluid/operators/warpctc_op.cc
+3
-2
未找到文件。
paddle/fluid/framework/grad_op_desc_maker.h
浏览文件 @
d84cdb7b
...
...
@@ -13,6 +13,7 @@ See the License for the specific language governing permissions and
limitations under the License. */
#pragma once
#include <algorithm>
#include <string>
#include <unordered_set>
#include <vector>
...
...
@@ -69,8 +70,7 @@ class GradOpDescMakerBase {
" for input argument with a list of variables, "
" drop_empty_grad is not allowed because it makes"
" the correspondence bewteen a variable and its gradient"
" ambiguous. Use REGISTER_OP_EX to register the op"
" or call InputGrad(?,false) in GradOpDescMaker."
" ambiguous."
" Op type %s"
,
fwd_op_
.
Type
());
...
...
paddle/fluid/framework/op_registry.h
浏览文件 @
d84cdb7b
...
...
@@ -16,6 +16,8 @@ limitations under the License. */
#include <algorithm>
#include <atomic>
#include <string>
#include <tuple>
#include <type_traits>
#include <typeinfo>
#include <unordered_map>
...
...
@@ -141,36 +143,6 @@ class OpKernelRegistrar : public Registrar {
return 0; \
}
/**
* Macro to register Operator. When the input is duplicable, you should
* use REGISTER_OP_EX with drop_empty_grad=false instead.
*/
#define REGISTER_OP(op_type, op_class, op_maker_class, grad_op_type, \
grad_op_class) \
REGISTER_OP_EX(op_type, op_class, op_maker_class, grad_op_type, \
grad_op_class, true)
// When an argument is duplicable, we need to use this version.
// Perhaps we can omit DropEmptyIG template parameter and
// only have one version of REGISTER_OP.
#define REGISTER_OP_EX(op_type, op_class, op_maker_class, grad_op_type, \
grad_op_class, drop_empty_grad) \
REGISTER_OPERATOR(grad_op_type, grad_op_class); \
class _GradOpDescMaker_##grad_op_type##_ \
: public ::paddle::framework::DefaultGradOpDescMaker<drop_empty_grad> { \
using ::paddle::framework::DefaultGradOpDescMaker< \
drop_empty_grad>::DefaultGradOpDescMaker; \
\
protected: \
virtual std::string GradOpType() const { return #grad_op_type; } \
}; \
REGISTER_OPERATOR(op_type, op_class, _GradOpDescMaker_##grad_op_type##_, \
op_maker_class);
#define REGISTER_OP_WITH_KERNEL(op_type, ...) \
REGISTER_OPERATOR(op_type, ::paddle::framework::OperatorWithKernel, \
##__VA_ARGS__)
#define REGISTER_OP_WITHOUT_GRADIENT(op_type, op_class, op_maker_class) \
REGISTER_OPERATOR(op_type, op_class, op_maker_class)
...
...
paddle/fluid/operators/CMakeLists.txt
浏览文件 @
d84cdb7b
...
...
@@ -110,12 +110,12 @@ function(op_library TARGET)
# Note that it's enough to just adding one operator to pybind in a *_op.cc file.
# And for detail pybind information, please see generated paddle/pybind/pybind.h.
file
(
READ
${
TARGET
}
.cc TARGET_CONTENT
)
string
(
REGEX MATCH
"REGISTER_OP
\\
(.*REGISTER_OP
\\
("
multi_register
"
${
TARGET_CONTENT
}
"
)
string
(
REGEX MATCH
"REGISTER_OP
\\
([a-z0-9_]*,"
one_register
"
${
multi_register
}
"
)
string
(
REGEX MATCH
"REGISTER_OP
ERATOR
\\
(.*REGISTER_OPERATOR
\\
("
multi_register
"
${
TARGET_CONTENT
}
"
)
string
(
REGEX MATCH
"REGISTER_OP
ERATOR
\\
([a-z0-9_]*,"
one_register
"
${
multi_register
}
"
)
if
(
one_register STREQUAL
""
)
string
(
REPLACE
"_op"
""
TARGET
"
${
TARGET
}
"
)
else
()
string
(
REPLACE
"REGISTER_OP("
""
TARGET
"
${
one_register
}
"
)
string
(
REPLACE
"REGISTER_OP
ERATOR
("
""
TARGET
"
${
one_register
}
"
)
string
(
REPLACE
","
""
TARGET
"
${
TARGET
}
"
)
endif
()
...
...
paddle/fluid/operators/activation_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -558,95 +558,126 @@ $$out = \frac{x}{1 + e^{- \beta x}}$$
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
sigmoid
,
ops
::
ActivationOp
,
ops
::
SigmoidOpMaker
,
sigmoid_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OPERATOR
(
sigmoid
,
ops
::
ActivationOp
,
ops
::
SigmoidOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
sigmoid_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OP
(
logsigmoid
,
ops
::
ActivationOp
,
ops
::
LogSigmoidOpMaker
,
logsigmoid_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OPERATOR
(
logsigmoid
,
ops
::
ActivationOp
,
ops
::
LogSigmoidOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
logsigmoid_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OP
(
exp
,
ops
::
ActivationOp
,
ops
::
ExpOpMaker
,
exp_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OPERATOR
(
exp
,
ops
::
ActivationOp
,
ops
::
ExpOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
exp_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
relu
,
ops
::
ActivationWithMKLDNNOp
,
ops
::
ReluOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
relu_grad
,
ops
::
ActivationWithMKLDNNOpGrad
)
REGISTER_OPERATOR
(
tanh
,
ops
::
ActivationWithMKLDNNOp
,
ops
::
TanhOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
tanh_grad
,
ops
::
ActivationWithMKLDNNOpGrad
)
REGISTER_OPERATOR
(
tanh_shrink
,
ops
::
ActivationOp
,
ops
::
TanhShrinkOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
tanh_shrink_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
softshrink
,
ops
::
ActivationOp
,
ops
::
SoftShrinkOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
softshrink_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
sqrt
,
ops
::
ActivationWithMKLDNNOp
,
ops
::
SqrtOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
sqrt_grad
,
ops
::
ActivationWithMKLDNNOpGrad
)
REGISTER_OPERATOR
(
abs
,
ops
::
ActivationWithMKLDNNOp
,
ops
::
AbsOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
abs_grad
,
ops
::
ActivationWithMKLDNNOpGrad
)
REGISTER_OPERATOR
(
ceil
,
ops
::
ActivationOp
,
ops
::
CeilOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
ceil_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
floor
,
ops
::
ActivationOp
,
ops
::
FloorOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
floor_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
cos
,
ops
::
ActivationOp
,
ops
::
CosOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
cos_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
sin
,
ops
::
ActivationOp
,
ops
::
SinOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
sin_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
round
,
ops
::
ActivationOp
,
ops
::
RoundOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
round_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
reciprocal
,
ops
::
ActivationOp
,
ops
::
ReciprocalOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
reciprocal_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
log
,
ops
::
ActivationOp
,
ops
::
LogOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
log_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
square
,
ops
::
ActivationOp
,
ops
::
SquareOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
square_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
softplus
,
ops
::
ActivationOp
,
ops
::
SoftplusOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
softplus_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
softsign
,
ops
::
ActivationOp
,
ops
::
SoftsignOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
softsign_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
brelu
,
ops
::
ActivationOp
,
ops
::
BReluOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
brelu_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
leaky_relu
,
ops
::
ActivationOp
,
ops
::
LeakyReluOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
leaky_relu_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
soft_relu
,
ops
::
ActivationOp
,
ops
::
SoftReluOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
soft_relu_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
elu
,
ops
::
ActivationOp
,
ops
::
ELUOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
elu_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
relu6
,
ops
::
ActivationOp
,
ops
::
Relu6OpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
relu6_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
pow
,
ops
::
ActivationOp
,
ops
::
PowOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
pow_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
stanh
,
ops
::
ActivationOp
,
ops
::
STanhOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
stanh_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OP
(
relu
,
ops
::
ActivationWithMKLDNNOp
,
ops
::
ReluOpMaker
,
relu_grad
,
ops
::
ActivationWithMKLDNNOpGrad
);
REGISTER_OPERATOR
(
hard_shrink
,
ops
::
ActivationOp
,
ops
::
HardShrinkOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
hard_shrink_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OP
(
tanh
,
ops
::
ActivationWithMKLDNNOp
,
ops
::
TanhOpMaker
,
tanh_grad
,
ops
::
ActivationWithMKLDNNOpGrad
);
REGISTER_OP
(
tanh_shrink
,
ops
::
ActivationOp
,
ops
::
TanhShrinkOpMaker
,
tanh_shrink_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
softshrink
,
ops
::
ActivationOp
,
ops
::
SoftShrinkOpMaker
,
softshrink_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
sqrt
,
ops
::
ActivationWithMKLDNNOp
,
ops
::
SqrtOpMaker
,
sqrt_grad
,
ops
::
ActivationWithMKLDNNOpGrad
);
REGISTER_OP
(
abs
,
ops
::
ActivationWithMKLDNNOp
,
ops
::
AbsOpMaker
,
abs_grad
,
ops
::
ActivationWithMKLDNNOpGrad
);
REGISTER_OP
(
ceil
,
ops
::
ActivationOp
,
ops
::
CeilOpMaker
,
ceil_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
floor
,
ops
::
ActivationOp
,
ops
::
FloorOpMaker
,
floor_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
cos
,
ops
::
ActivationOp
,
ops
::
CosOpMaker
,
cos_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
sin
,
ops
::
ActivationOp
,
ops
::
SinOpMaker
,
sin_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
round
,
ops
::
ActivationOp
,
ops
::
RoundOpMaker
,
round_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
reciprocal
,
ops
::
ActivationOp
,
ops
::
ReciprocalOpMaker
,
reciprocal_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
log
,
ops
::
ActivationOp
,
ops
::
LogOpMaker
,
log_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
square
,
ops
::
ActivationOp
,
ops
::
SquareOpMaker
,
square_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
softplus
,
ops
::
ActivationOp
,
ops
::
SoftplusOpMaker
,
softplus_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
softsign
,
ops
::
ActivationOp
,
ops
::
SoftsignOpMaker
,
softsign_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
brelu
,
ops
::
ActivationOp
,
ops
::
BReluOpMaker
,
brelu_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
leaky_relu
,
ops
::
ActivationOp
,
ops
::
LeakyReluOpMaker
,
leaky_relu_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
soft_relu
,
ops
::
ActivationOp
,
ops
::
SoftReluOpMaker
,
soft_relu_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
elu
,
ops
::
ActivationOp
,
ops
::
ELUOpMaker
,
elu_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
relu6
,
ops
::
ActivationOp
,
ops
::
Relu6OpMaker
,
relu6_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
pow
,
ops
::
ActivationOp
,
ops
::
PowOpMaker
,
pow_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
stanh
,
ops
::
ActivationOp
,
ops
::
STanhOpMaker
,
stanh_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
hard_shrink
,
ops
::
ActivationOp
,
ops
::
HardShrinkOpMaker
,
hard_shrink_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
thresholded_relu
,
ops
::
ActivationOp
,
ops
::
ThresholdedReluOpMaker
,
thresholded_relu_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
hard_sigmoid
,
ops
::
ActivationOp
,
ops
::
HardSigmoidOpMaker
,
hard_sigmoid_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OP
(
swish
,
ops
::
ActivationOp
,
ops
::
SwishOpMaker
,
swish_grad
,
ops
::
ActivationOpGrad
);
REGISTER_OPERATOR
(
thresholded_relu
,
ops
::
ActivationOp
,
ops
::
ThresholdedReluOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
thresholded_relu_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
hard_sigmoid
,
ops
::
ActivationOp
,
ops
::
HardSigmoidOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
hard_sigmoid_grad
,
ops
::
ActivationOpGrad
)
REGISTER_OPERATOR
(
swish
,
ops
::
ActivationOp
,
ops
::
SwishOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
swish_grad
,
ops
::
ActivationOpGrad
)
#define REGISTER_ACTIVATION_CPU_KERNEL(act_type, functor, grad_functor) \
REGISTER_OP_CPU_KERNEL( \
...
...
paddle/fluid/operators/bilinear_tensor_product_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -153,9 +153,11 @@ class BilinearTensorProductOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
bilinear_tensor_product
,
ops
::
BilinearTensorProductOp
,
ops
::
BilinearTensorProductOpMaker
,
bilinear_tensor_product_grad
,
ops
::
BilinearTensorProductOpGrad
);
REGISTER_OPERATOR
(
bilinear_tensor_product
,
ops
::
BilinearTensorProductOp
,
ops
::
BilinearTensorProductOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
bilinear_tensor_product_grad
,
ops
::
BilinearTensorProductOpGrad
)
REGISTER_OP_CPU_KERNEL
(
bilinear_tensor_product
,
ops
::
BilinearTensorProductKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/clip_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -81,8 +81,9 @@ class ClipOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
clip
,
ops
::
ClipOp
,
ops
::
ClipOpMaker
<
float
>
,
clip_grad
,
ops
::
ClipOpGrad
);
REGISTER_OPERATOR
(
clip
,
ops
::
ClipOp
,
ops
::
ClipOpMaker
<
float
>
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
clip_grad
,
ops
::
ClipOpGrad
)
REGISTER_OP_CPU_KERNEL
(
clip
,
ops
::
ClipKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/concat_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -103,8 +103,10 @@ class ConcatOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP_EX
(
concat
,
ops
::
ConcatOp
,
ops
::
ConcatOpMaker
,
concat_grad
,
ops
::
ConcatOpGrad
,
false
)
REGISTER_OPERATOR
(
concat
,
ops
::
ConcatOp
,
ops
::
ConcatOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
false
>
/* set false to disable empty grad */
)
REGISTER_OPERATOR
(
concat_grad
,
ops
::
ConcatOpGrad
)
REGISTER_OP_CPU_KERNEL
(
concat
,
ops
::
ConcatKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
)
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/conv_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -335,14 +335,17 @@ framework::OpKernelType ConvOpGrad::GetExpectedKernelType(
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
conv2d
,
ops
::
ConvOp
,
ops
::
Conv2DOpMaker
,
conv2d_grad
,
ops
::
ConvOpGrad
);
REGISTER_OPERATOR
(
conv2d
,
ops
::
ConvOp
,
ops
::
Conv2DOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
conv2d_grad
,
ops
::
ConvOpGrad
)
// depthwise convolution op
REGISTER_OP
(
depthwise_conv2d
,
ops
::
ConvOp
,
ops
::
Conv2DOpMaker
,
depthwise_conv2d_grad
,
ops
::
ConvOpGrad
);
REGISTER_OP
(
conv3d
,
ops
::
ConvOp
,
ops
::
Conv3DOpMaker
,
conv3d_grad
,
ops
::
ConvOpGrad
);
REGISTER_OPERATOR
(
depthwise_conv2d
,
ops
::
ConvOp
,
ops
::
Conv2DOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
depthwise_conv2d_grad
,
ops
::
ConvOpGrad
)
REGISTER_OPERATOR
(
conv3d
,
ops
::
ConvOp
,
ops
::
Conv3DOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
conv3d_grad
,
ops
::
ConvOpGrad
)
// depthwise conv kernel
// TODO(xingzhaolong): neon kernel for mobile
...
...
paddle/fluid/operators/conv_shift_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -193,8 +193,9 @@ class ConvShiftGradKernel<platform::CPUPlace, T>
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
conv_shift
,
ops
::
ConvShiftOp
,
ops
::
ConvShiftOpMaker
,
conv_shift_grad
,
ops
::
ConvShiftGradOp
);
REGISTER_OPERATOR
(
conv_shift
,
ops
::
ConvShiftOp
,
ops
::
ConvShiftOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
conv_shift_grad
,
ops
::
ConvShiftGradOp
)
REGISTER_OP_CPU_KERNEL
(
conv_shift
,
ops
::
ConvShiftKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/conv_transpose_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -298,8 +298,10 @@ framework::OpKernelType ConvTransposeOpGrad::GetExpectedKernelType(
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
conv2d_transpose
,
ops
::
ConvTransposeOp
,
ops
::
Conv2DTransposeOpMaker
,
conv2d_transpose_grad
,
ops
::
ConvTransposeOpGrad
);
REGISTER_OPERATOR
(
conv2d_transpose
,
ops
::
ConvTransposeOp
,
ops
::
Conv2DTransposeOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
conv2d_transpose_grad
,
ops
::
ConvTransposeOpGrad
)
REGISTER_OP_CPU_KERNEL
(
conv2d_transpose
,
...
...
@@ -311,8 +313,10 @@ REGISTER_OP_CPU_KERNEL(
ops
::
GemmConvTransposeGradKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
);
REGISTER_OP
(
conv3d_transpose
,
ops
::
ConvTransposeOp
,
ops
::
Conv3DTransposeOpMaker
,
conv3d_transpose_grad
,
ops
::
ConvTransposeOpGrad
);
REGISTER_OPERATOR
(
conv3d_transpose
,
ops
::
ConvTransposeOp
,
ops
::
Conv3DTransposeOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
conv3d_transpose_grad
,
ops
::
ConvTransposeOpGrad
)
REGISTER_OP_CPU_KERNEL
(
conv3d_transpose
,
...
...
paddle/fluid/operators/cos_sim_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -153,8 +153,9 @@ class CosSimOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
cos_sim
,
ops
::
CosSimOp
,
ops
::
CosSimOpMaker
,
cos_sim_grad
,
ops
::
CosSimOpGrad
);
REGISTER_OPERATOR
(
cos_sim
,
ops
::
CosSimOp
,
ops
::
CosSimOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
cos_sim_grad
,
ops
::
CosSimOpGrad
)
REGISTER_OP_CPU_KERNEL
(
cos_sim
,
ops
::
CosSimKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/crop_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -153,7 +153,9 @@ class CropOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
crop
,
ops
::
CropOp
,
ops
::
CropOpMaker
,
crop_grad
,
ops
::
CropOpGrad
);
REGISTER_OPERATOR
(
crop
,
ops
::
CropOp
,
ops
::
CropOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
);
REGISTER_OPERATOR
(
crop_grad
,
ops
::
CropOpGrad
);
REGISTER_OP_CPU_KERNEL
(
crop
,
ops
::
CropKernel
<
float
>
);
REGISTER_OP_CPU_KERNEL
(
crop_grad
,
ops
::
CropGradKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
paddle/fluid/operators/cross_entropy_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -164,8 +164,9 @@ or not. But the output only shares the LoD information with input X.
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
cross_entropy
,
ops
::
CrossEntropyOp
,
ops
::
CrossEntropyOpMaker
,
cross_entropy_grad
,
ops
::
CrossEntropyGradientOp
);
REGISTER_OPERATOR
(
cross_entropy
,
ops
::
CrossEntropyOp
,
ops
::
CrossEntropyOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
cross_entropy_grad
,
ops
::
CrossEntropyGradientOp
)
REGISTER_OP_CPU_KERNEL
(
cross_entropy
,
ops
::
CrossEntropyOpKernel
<
float
>
,
ops
::
CrossEntropyOpKernel
<
double
>
);
REGISTER_OP_CPU_KERNEL
(
cross_entropy_grad
,
...
...
paddle/fluid/operators/dropout_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -101,8 +101,9 @@ class DropoutOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
dropout
,
ops
::
DropoutOp
,
ops
::
DropoutOpMaker
,
dropout_grad
,
ops
::
DropoutOpGrad
);
REGISTER_OPERATOR
(
dropout
,
ops
::
DropoutOp
,
ops
::
DropoutOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
dropout_grad
,
ops
::
DropoutOpGrad
)
REGISTER_OP_CPU_KERNEL
(
dropout
,
ops
::
CPUDropoutKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/elementwise_div_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -30,8 +30,10 @@ class ElementwiseDivOpMaker : public ElementwiseOpMaker {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
elementwise_div
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseDivOpMaker
,
elementwise_div_grad
,
ops
::
ElementwiseOpGrad
);
REGISTER_OPERATOR
(
elementwise_div
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseDivOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
elementwise_div_grad
,
ops
::
ElementwiseOpGrad
)
REGISTER_OP_CPU_KERNEL
(
elementwise_div
,
ops
::
ElementwiseDivKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/elementwise_max_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -29,8 +29,10 @@ class ElementwiseMaxOpMaker : public ElementwiseOpMaker {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
elementwise_max
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseMaxOpMaker
,
elementwise_max_grad
,
ops
::
ElementwiseOpGrad
);
REGISTER_OPERATOR
(
elementwise_max
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseMaxOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
elementwise_max_grad
,
ops
::
ElementwiseOpGrad
)
REGISTER_OP_CPU_KERNEL
(
elementwise_max
,
ops
::
ElementwiseMaxKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/elementwise_min_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -29,8 +29,10 @@ class ElementwiseMinOpMaker : public ElementwiseOpMaker {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
elementwise_min
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseMinOpMaker
,
elementwise_min_grad
,
ops
::
ElementwiseOpGrad
);
REGISTER_OPERATOR
(
elementwise_min
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseMinOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
elementwise_min_grad
,
ops
::
ElementwiseOpGrad
)
REGISTER_OP_CPU_KERNEL
(
elementwise_min
,
ops
::
ElementwiseMinKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/elementwise_mul_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -31,8 +31,10 @@ class ElementwiseMulOpMaker : public ElementwiseOpMaker {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
elementwise_mul
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseMulOpMaker
,
elementwise_mul_grad
,
ops
::
ElementwiseOpGrad
);
REGISTER_OPERATOR
(
elementwise_mul
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseMulOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
elementwise_mul_grad
,
ops
::
ElementwiseOpGrad
)
REGISTER_OP_CPU_KERNEL
(
elementwise_mul
,
ops
::
ElementwiseMulKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/elementwise_sub_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -29,8 +29,10 @@ class ElementwiseSubOpMaker : public ElementwiseOpMaker {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
elementwise_sub
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseSubOpMaker
,
elementwise_sub_grad
,
ops
::
ElementwiseOpGrad
);
REGISTER_OPERATOR
(
elementwise_sub
,
ops
::
ElementwiseOp
,
ops
::
ElementwiseSubOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
elementwise_sub_grad
,
ops
::
ElementwiseOpGrad
)
REGISTER_OP_CPU_KERNEL
(
elementwise_sub
,
ops
::
ElementwiseSubKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/expand_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -14,6 +14,8 @@ limitations under the License. */
#include "paddle/fluid/operators/expand_op.h"
#include <vector>
namespace
paddle
{
namespace
operators
{
...
...
@@ -128,8 +130,9 @@ class ExpandGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
expand
,
ops
::
ExpandOp
,
ops
::
ExpandOpMaker
,
expand_grad
,
ops
::
ExpandGradOp
);
REGISTER_OPERATOR
(
expand
,
ops
::
ExpandOp
,
ops
::
ExpandOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
expand_grad
,
ops
::
ExpandGradOp
)
REGISTER_OP_CPU_KERNEL
(
expand
,
ops
::
ExpandKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/fc_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -98,5 +98,6 @@ FCOpMaker::FCOpMaker(OpProto* proto, OpAttrChecker* op_checker)
}
// namespace operators
}
// namespace paddle
REGISTER_OP
(
fc
,
paddle
::
operators
::
FCOp
,
paddle
::
operators
::
FCOpMaker
,
fc_grad
,
paddle
::
operators
::
FCOpGrad
);
REGISTER_OPERATOR
(
fc
,
paddle
::
operators
::
FCOp
,
paddle
::
operators
::
FCOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
fc_grad
,
paddle
::
operators
::
FCOpGrad
)
paddle/fluid/operators/gather_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -100,7 +100,8 @@ Out = [[3, 4],
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
gather
,
ops
::
GatherOp
,
ops
::
GatherOpMaker
,
gather_grad
,
ops
::
GatherGradOp
);
REGISTER_OPERATOR
(
gather
,
ops
::
GatherOp
,
ops
::
GatherOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
gather_grad
,
ops
::
GatherGradOp
)
REGISTER_OP_CPU_KERNEL
(
gather
,
ops
::
GatherOpKernel
<
float
>
);
REGISTER_OP_CPU_KERNEL
(
gather_grad
,
ops
::
GatherGradientOpKernel
<
float
>
);
paddle/fluid/operators/gru_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -216,7 +216,9 @@ class GRUGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
gru
,
ops
::
GRUOp
,
ops
::
GRUOpMaker
,
gru_grad
,
ops
::
GRUGradOp
);
REGISTER_OPERATOR
(
gru
,
ops
::
GRUOp
,
ops
::
GRUOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
gru_grad
,
ops
::
GRUGradOp
)
REGISTER_OP_CPU_KERNEL
(
gru
,
ops
::
GRUKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
GRUKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
);
...
...
paddle/fluid/operators/gru_unit_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -198,8 +198,9 @@ class GRUUnitGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
gru_unit
,
ops
::
GRUUnitOp
,
ops
::
GRUUnitOpMaker
,
gru_unit_grad
,
ops
::
GRUUnitGradOp
);
REGISTER_OPERATOR
(
gru_unit
,
ops
::
GRUUnitOp
,
ops
::
GRUUnitOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
gru_unit_grad
,
ops
::
GRUUnitGradOp
)
REGISTER_OP_CPU_KERNEL
(
gru_unit
,
ops
::
GRUUnitKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
GRUUnitKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
);
...
...
paddle/fluid/operators/hinge_loss_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -103,8 +103,9 @@ class HingeLossGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
hinge_loss
,
ops
::
HingeLossOp
,
ops
::
HingeLossOpMaker
<
float
>
,
hinge_loss_grad
,
ops
::
HingeLossGradOp
);
REGISTER_OPERATOR
(
hinge_loss
,
ops
::
HingeLossOp
,
ops
::
HingeLossOpMaker
<
float
>
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
hinge_loss_grad
,
ops
::
HingeLossGradOp
)
REGISTER_OP_CPU_KERNEL
(
hinge_loss
,
ops
::
HingeLossKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/huber_loss_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -121,8 +121,9 @@ class HuberLossGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
huber_loss
,
ops
::
HuberLossOp
,
ops
::
HuberLossOpMaker
<
float
>
,
huber_loss_grad
,
ops
::
HuberLossGradOp
);
REGISTER_OPERATOR
(
huber_loss
,
ops
::
HuberLossOp
,
ops
::
HuberLossOpMaker
<
float
>
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
huber_loss_grad
,
ops
::
HuberLossGradOp
)
REGISTER_OP_CPU_KERNEL
(
huber_loss
,
ops
::
HuberLossKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/im2sequence_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -148,8 +148,9 @@ class Im2SequenceGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
im2sequence
,
ops
::
Im2SequenceOp
,
ops
::
Im2SequenceOpMaker
,
im2sequence_grad
,
ops
::
Im2SequenceGradOp
);
REGISTER_OPERATOR
(
im2sequence
,
ops
::
Im2SequenceOp
,
ops
::
Im2SequenceOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
im2sequence_grad
,
ops
::
Im2SequenceGradOp
)
REGISTER_OP_CPU_KERNEL
(
im2sequence
,
ops
::
Im2SequenceKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/l1_norm_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -67,8 +67,9 @@ $$Out = \sum{|X|}$$
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
l1_norm
,
ops
::
L1NormOp
,
ops
::
L1NormOpMaker
,
l1_norm_grad
,
ops
::
L1NormGradOp
);
REGISTER_OPERATOR
(
l1_norm
,
ops
::
L1NormOp
,
ops
::
L1NormOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
l1_norm_grad
,
ops
::
L1NormGradOp
)
REGISTER_OP_CPU_KERNEL
(
l1_norm
,
ops
::
L1NormKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/label_smooth_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -117,8 +117,9 @@ class LabelSmoothGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
label_smooth
,
ops
::
LabelSmoothOp
,
ops
::
LabelSmoothOpMaker
,
label_smooth_grad
,
ops
::
LabelSmoothGradOp
);
REGISTER_OPERATOR
(
label_smooth
,
ops
::
LabelSmoothOp
,
ops
::
LabelSmoothOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
label_smooth_grad
,
ops
::
LabelSmoothGradOp
)
REGISTER_OP_CPU_KERNEL
(
label_smooth
,
ops
::
LabelSmoothKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/layer_norm_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -162,8 +162,9 @@ class LayerNormGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
layer_norm
,
ops
::
LayerNormOp
,
ops
::
LayerNormOpMaker
,
layer_norm_grad
,
ops
::
LayerNormGradOp
);
REGISTER_OPERATOR
(
layer_norm
,
ops
::
LayerNormOp
,
ops
::
LayerNormOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
layer_norm_grad
,
ops
::
LayerNormGradOp
)
REGISTER_OP_CPU_KERNEL
(
layer_norm
,
ops
::
LayerNormKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
LayerNormKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
);
...
...
paddle/fluid/operators/linear_chain_crf_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -256,8 +256,10 @@ class LinearChainCRFGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
linear_chain_crf
,
ops
::
LinearChainCRFOp
,
ops
::
LinearChainCRFOpMaker
,
linear_chain_crf_grad
,
ops
::
LinearChainCRFGradOp
);
REGISTER_OPERATOR
(
linear_chain_crf
,
ops
::
LinearChainCRFOp
,
ops
::
LinearChainCRFOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
linear_chain_crf_grad
,
ops
::
LinearChainCRFGradOp
)
REGISTER_OP_CPU_KERNEL
(
linear_chain_crf
,
ops
::
LinearChainCRFOpKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/lod_reset_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -155,8 +155,9 @@ class LoDResetGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
lod_reset
,
ops
::
LoDResetOp
,
ops
::
LoDResetOpMaker
,
lod_reset_grad
,
ops
::
LoDResetGradOp
);
REGISTER_OPERATOR
(
lod_reset
,
ops
::
LoDResetOp
,
ops
::
LoDResetOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
lod_reset_grad
,
ops
::
LoDResetGradOp
)
REGISTER_OP_CPU_KERNEL
(
lod_reset
,
ops
::
LoDResetKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
,
ops
::
LoDResetKernel
<
paddle
::
platform
::
CPUPlace
,
double
>
,
...
...
paddle/fluid/operators/log_loss_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -106,8 +106,9 @@ class LogLossGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
log_loss
,
ops
::
LogLossOp
,
ops
::
LogLossOpMaker
<
float
>
,
log_loss_grad
,
ops
::
LogLossGradOp
);
REGISTER_OPERATOR
(
log_loss
,
ops
::
LogLossOp
,
ops
::
LogLossOpMaker
<
float
>
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
log_loss_grad
,
ops
::
LogLossGradOp
)
REGISTER_OP_CPU_KERNEL
(
log_loss
,
ops
::
LogLossKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/lrn_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -276,7 +276,9 @@ class LRNOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
lrn
,
ops
::
LRNOp
,
ops
::
LRNOpMaker
<
float
>
,
lrn_grad
,
ops
::
LRNOpGrad
);
REGISTER_OPERATOR
(
lrn
,
ops
::
LRNOp
,
ops
::
LRNOpMaker
<
float
>
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
lrn_grad
,
ops
::
LRNOpGrad
)
REGISTER_OP_CPU_KERNEL
(
lrn
,
ops
::
LRNKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/lstm_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -273,7 +273,9 @@ class LSTMGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
lstm
,
ops
::
LSTMOp
,
ops
::
LSTMOpMaker
,
lstm_grad
,
ops
::
LSTMGradOp
);
REGISTER_OPERATOR
(
lstm
,
ops
::
LSTMOp
,
ops
::
LSTMOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
lstm_grad
,
ops
::
LSTMGradOp
)
REGISTER_OP_CPU_KERNEL
(
lstm
,
ops
::
LSTMKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
LSTMKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
);
...
...
paddle/fluid/operators/lstm_unit_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -97,8 +97,9 @@ class LstmUnitGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
lstm_unit
,
ops
::
LstmUnitOp
,
ops
::
LstmUnitOpMaker
,
lstm_unit_grad
,
ops
::
LstmUnitGradOp
);
REGISTER_OPERATOR
(
lstm_unit
,
ops
::
LstmUnitOp
,
ops
::
LstmUnitOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
lstm_unit_grad
,
ops
::
LstmUnitGradOp
)
REGISTER_OP_CPU_KERNEL
(
lstm_unit
,
ops
::
LstmUnitKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
,
ops
::
LstmUnitKernel
<
paddle
::
platform
::
CPUPlace
,
double
>
);
...
...
paddle/fluid/operators/lstmp_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -322,8 +322,9 @@ class LSTMPGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
lstmp
,
ops
::
LSTMPOp
,
ops
::
LSTMPOpMaker
,
lstmp_grad
,
ops
::
LSTMPGradOp
);
REGISTER_OPERATOR
(
lstmp
,
ops
::
LSTMPOp
,
ops
::
LSTMPOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
lstmp_grad
,
ops
::
LSTMPGradOp
)
REGISTER_OP_CPU_KERNEL
(
lstmp
,
ops
::
LSTMPKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
LSTMPKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
);
...
...
paddle/fluid/operators/margin_rank_loss_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -111,9 +111,10 @@ class MarginRankLossGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
margin_rank_loss
,
ops
::
MarginRankLossOp
,
ops
::
MarginRankLossOpMaker
<
float
>
,
margin_rank_loss_grad
,
ops
::
MarginRankLossGradOp
);
REGISTER_OPERATOR
(
margin_rank_loss
,
ops
::
MarginRankLossOp
,
ops
::
MarginRankLossOpMaker
<
float
>
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
margin_rank_loss_grad
,
ops
::
MarginRankLossGradOp
)
REGISTER_OP_CPU_KERNEL
(
margin_rank_loss
,
ops
::
MarginRankLossKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/matmul_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -237,8 +237,9 @@ class MatMulOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
matmul
,
ops
::
MatMulOp
,
ops
::
MatMulOpMaker
,
matmul_grad
,
ops
::
MatMulOpGrad
);
REGISTER_OPERATOR
(
matmul
,
ops
::
MatMulOp
,
ops
::
MatMulOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
matmul_grad
,
ops
::
MatMulOpGrad
)
REGISTER_OP_CPU_KERNEL
(
matmul
,
ops
::
MatMulKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/maxout_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -101,8 +101,9 @@ class MaxOutOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
maxout
,
ops
::
MaxOutOp
,
ops
::
MaxOutOpMaker
,
maxout_grad
,
ops
::
MaxOutOpGrad
);
REGISTER_OPERATOR
(
maxout
,
ops
::
MaxOutOp
,
ops
::
MaxOutOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
maxout_grad
,
ops
::
MaxOutOpGrad
)
REGISTER_OP_CPU_KERNEL
(
maxout
,
ops
::
MaxOutKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/modified_huber_loss_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -108,9 +108,10 @@ class ModifiedHuberLossGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
modified_huber_loss
,
ops
::
ModifiedHuberLossOp
,
ops
::
ModifiedHuberLossOpMaker
,
modified_huber_loss_grad
,
ops
::
ModifiedHuberLossGradOp
);
REGISTER_OPERATOR
(
modified_huber_loss
,
ops
::
ModifiedHuberLossOp
,
ops
::
ModifiedHuberLossOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
modified_huber_loss_grad
,
ops
::
ModifiedHuberLossGradOp
)
REGISTER_OP_CPU_KERNEL
(
modified_huber_loss
,
...
...
paddle/fluid/operators/mul_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -160,7 +160,9 @@ class MulGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
mul
,
ops
::
MulOp
,
ops
::
MulOpMaker
,
mul_grad
,
ops
::
MulGradOp
);
REGISTER_OPERATOR
(
mul
,
ops
::
MulOp
,
ops
::
MulOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
mul_grad
,
ops
::
MulGradOp
)
REGISTER_OP_CPU_KERNEL
(
mul
,
ops
::
MulKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/nce_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -14,6 +14,8 @@ limitations under the License. */
#include "paddle/fluid/operators/nce_op.h"
#include <vector>
namespace
paddle
{
namespace
operators
{
...
...
@@ -179,7 +181,9 @@ class NCEOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
nce
,
ops
::
NCEOp
,
ops
::
NCEOpMaker
,
nce_grad
,
ops
::
NCEOpGrad
);
REGISTER_OPERATOR
(
nce
,
ops
::
NCEOp
,
ops
::
NCEOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
nce_grad
,
ops
::
NCEOpGrad
)
REGISTER_OP_CPU_KERNEL
(
nce
,
ops
::
NCEKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
,
ops
::
NCEKernel
<
paddle
::
platform
::
CPUPlace
,
double
>
);
REGISTER_OP_CPU_KERNEL
(
nce_grad
,
...
...
paddle/fluid/operators/norm_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -85,8 +85,9 @@ class NormOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
norm
,
ops
::
NormOp
,
ops
::
NormOpMaker
<
float
>
,
norm_grad
,
ops
::
NormOpGrad
);
REGISTER_OPERATOR
(
norm
,
ops
::
NormOp
,
ops
::
NormOpMaker
<
float
>
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
norm_grad
,
ops
::
NormOpGrad
)
REGISTER_OP_CPU_KERNEL
(
norm
,
ops
::
NormKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
NormKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
,
float
>
);
...
...
paddle/fluid/operators/pool_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -333,8 +333,9 @@ Example:
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
pool2d
,
ops
::
PoolOp
,
ops
::
Pool2dOpMaker
,
pool2d_grad
,
ops
::
PoolOpGrad
);
REGISTER_OPERATOR
(
pool2d
,
ops
::
PoolOp
,
ops
::
Pool2dOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
pool2d_grad
,
ops
::
PoolOpGrad
)
REGISTER_OP_CPU_KERNEL
(
pool2d
,
ops
::
PoolKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
@@ -343,8 +344,9 @@ REGISTER_OP_CPU_KERNEL(
pool2d_grad
,
ops
::
PoolGradKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
PoolGradKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
)
REGISTER_OP
(
pool3d
,
ops
::
PoolOp
,
ops
::
Pool3dOpMaker
,
pool3d_grad
,
ops
::
PoolOpGrad
);
REGISTER_OPERATOR
(
pool3d
,
ops
::
PoolOp
,
ops
::
Pool3dOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
pool3d_grad
,
ops
::
PoolOpGrad
)
REGISTER_OP_CPU_KERNEL
(
pool3d
,
ops
::
PoolKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/pool_with_index_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -258,9 +258,10 @@ Example:
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
max_pool2d_with_index
,
ops
::
MaxPoolWithIndexOp
,
ops
::
MaxPool2dWithIndexOpMaker
,
max_pool2d_with_index_grad
,
ops
::
MaxPoolWithIndexOpGrad
);
REGISTER_OPERATOR
(
max_pool2d_with_index
,
ops
::
MaxPoolWithIndexOp
,
ops
::
MaxPool2dWithIndexOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
max_pool2d_with_index_grad
,
ops
::
MaxPoolWithIndexOpGrad
)
REGISTER_OP_CPU_KERNEL
(
max_pool2d_with_index
,
...
...
@@ -274,9 +275,10 @@ REGISTER_OP_CPU_KERNEL(
ops
::
MaxPoolWithIndexGradKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
,
int
>
)
REGISTER_OP
(
max_pool3d_with_index
,
ops
::
MaxPoolWithIndexOp
,
ops
::
MaxPool3dWithIndexOpMaker
,
max_pool3d_with_index_grad
,
ops
::
MaxPoolWithIndexOpGrad
);
REGISTER_OPERATOR
(
max_pool3d_with_index
,
ops
::
MaxPoolWithIndexOp
,
ops
::
MaxPool3dWithIndexOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
max_pool3d_with_index_grad
,
ops
::
MaxPoolWithIndexOpGrad
)
REGISTER_OP_CPU_KERNEL
(
max_pool3d_with_index
,
...
...
paddle/fluid/operators/prelu_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -83,8 +83,9 @@ class PReluGradOp : public framework::OperatorWithKernel {
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
prelu
,
ops
::
PReluOp
,
ops
::
PReluOpMaker
,
prelu_grad
,
ops
::
PReluGradOp
);
REGISTER_OPERATOR
(
prelu
,
ops
::
PReluOp
,
ops
::
PReluOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
prelu_grad
,
ops
::
PReluGradOp
)
REGISTER_OP_CPU_KERNEL
(
prelu
,
ops
::
PReluKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/rank_loss_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -121,8 +121,9 @@ class RankLossGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
rank_loss
,
ops
::
RankLossOp
,
ops
::
RankLossOpMaker
,
rank_loss_grad
,
ops
::
RankLossGradOp
);
REGISTER_OPERATOR
(
rank_loss
,
ops
::
RankLossOp
,
ops
::
RankLossOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
rank_loss_grad
,
ops
::
RankLossGradOp
)
REGISTER_OP_CPU_KERNEL
(
rank_loss
,
ops
::
RankLossKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/reduce_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -14,6 +14,9 @@ limitations under the License. */
#include "paddle/fluid/operators/reduce_op.h"
#include <string>
#include <vector>
namespace
paddle
{
namespace
operators
{
...
...
@@ -122,18 +125,18 @@ If reduce_all is true, just reduce along all dimensions and output a scalar.
protected:
std
::
string
comment_
;
void
Replace
(
std
::
string
&
src
,
std
::
string
from
,
std
::
string
to
)
{
void
Replace
(
std
::
string
*
src
,
std
::
string
from
,
std
::
string
to
)
{
std
::
size_t
len_from
=
std
::
strlen
(
from
.
c_str
());
std
::
size_t
len_to
=
std
::
strlen
(
to
.
c_str
());
for
(
std
::
size_t
pos
=
src
.
find
(
from
);
pos
!=
std
::
string
::
npos
;
pos
=
src
.
find
(
from
,
pos
+
len_to
))
{
src
.
replace
(
pos
,
len_from
,
to
);
for
(
std
::
size_t
pos
=
src
->
find
(
from
);
pos
!=
std
::
string
::
npos
;
pos
=
src
->
find
(
from
,
pos
+
len_to
))
{
src
->
replace
(
pos
,
len_from
,
to
);
}
}
void
SetComment
(
std
::
string
name
,
std
::
string
op
)
{
Replace
(
comment_
,
"{ReduceOp}"
,
name
);
Replace
(
comment_
,
"{reduce}"
,
op
);
Replace
(
&
comment_
,
"{ReduceOp}"
,
name
);
Replace
(
&
comment_
,
"{reduce}"
,
op
);
}
};
...
...
@@ -187,20 +190,25 @@ class ReduceProdOpMaker : public ReduceOpMaker {
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
reduce_sum
,
ops
::
ReduceOp
,
ops
::
ReduceSumOpMaker
,
reduce_sum_grad
,
ops
::
ReduceGradOp
);
REGISTER_OPERATOR
(
reduce_sum
,
ops
::
ReduceOp
,
ops
::
ReduceSumOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
reduce_sum_grad
,
ops
::
ReduceGradOp
)
REGISTER_OP
(
reduce_mean
,
ops
::
ReduceOp
,
ops
::
ReduceMeanOpMaker
,
reduce_mean_grad
,
ops
::
ReduceGradOp
);
REGISTER_OPERATOR
(
reduce_mean
,
ops
::
ReduceOp
,
ops
::
ReduceMeanOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
reduce_mean_grad
,
ops
::
ReduceGradOp
)
REGISTER_OP
(
reduce_max
,
ops
::
ReduceOp
,
ops
::
ReduceMaxOpMaker
,
reduce_max_grad
,
ops
::
ReduceGradOp
);
REGISTER_OPERATOR
(
reduce_max
,
ops
::
ReduceOp
,
ops
::
ReduceMaxOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
reduce_max_grad
,
ops
::
ReduceGradOp
)
REGISTER_OP
(
reduce_min
,
ops
::
ReduceOp
,
ops
::
ReduceMinOpMaker
,
reduce_min_grad
,
ops
::
ReduceGradOp
);
REGISTER_OPERATOR
(
reduce_min
,
ops
::
ReduceOp
,
ops
::
ReduceMinOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
reduce_min_grad
,
ops
::
ReduceGradOp
)
REGISTER_OP
(
reduce_prod
,
ops
::
ReduceOp
,
ops
::
ReduceProdOpMaker
,
reduce_prod_grad
,
ops
::
ReduceGradOp
);
REGISTER_OPERATOR
(
reduce_prod
,
ops
::
ReduceOp
,
ops
::
ReduceProdOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
reduce_prod_grad
,
ops
::
ReduceGradOp
)
#define REGISTER_REDUCE_CPU_KERNEL(reduce_type, functor, grad_functor) \
REGISTER_OP_CPU_KERNEL(reduce_type, \
...
...
paddle/fluid/operators/reshape_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -113,8 +113,9 @@ class ReshapeGradOp : public framework::OperatorWithKernel {
namespace
ops
=
paddle
::
operators
;
using
CPU
=
paddle
::
platform
::
CPUDeviceContext
;
REGISTER_OP
(
reshape
,
ops
::
ReshapeOp
,
ops
::
ReshapeOpMaker
,
reshape_grad
,
ops
::
ReshapeGradOp
);
REGISTER_OPERATOR
(
reshape
,
ops
::
ReshapeOp
,
ops
::
ReshapeOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
reshape_grad
,
ops
::
ReshapeGradOp
)
REGISTER_OP_CPU_KERNEL
(
reshape
,
ops
::
ReshapeKernel
<
CPU
,
float
>
,
ops
::
ReshapeKernel
<
CPU
,
double
>
,
ops
::
ReshapeKernel
<
CPU
,
int
>
,
...
...
paddle/fluid/operators/roi_pool_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -153,8 +153,9 @@ https://stackoverflow.com/questions/43430056/what-is-roi-layer-in-fast-rcnn
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
roi_pool
,
ops
::
ROIPoolOp
,
ops
::
ROIPoolOpMaker
,
roi_pool_grad
,
ops
::
ROIPoolGradOp
);
REGISTER_OPERATOR
(
roi_pool
,
ops
::
ROIPoolOp
,
ops
::
ROIPoolOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
roi_pool_grad
,
ops
::
ROIPoolGradOp
)
REGISTER_OP_CPU_KERNEL
(
roi_pool
,
ops
::
CPUROIPoolOpKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/row_conv_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -250,8 +250,9 @@ class RowConvGradKernel<platform::CPUDeviceContext, T>
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
row_conv
,
ops
::
RowConvOp
,
ops
::
RowConvOpMaker
,
row_conv_grad
,
ops
::
RowConvGradOp
);
REGISTER_OPERATOR
(
row_conv
,
ops
::
RowConvOp
,
ops
::
RowConvOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
row_conv_grad
,
ops
::
RowConvGradOp
)
REGISTER_OP_CPU_KERNEL
(
row_conv
,
ops
::
RowConvKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/scatter_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -102,7 +102,8 @@ $$
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
scatter
,
ops
::
ScatterOp
,
ops
::
ScatterOpMaker
,
scatter_grad
,
ops
::
ScatterGradOp
);
REGISTER_OPERATOR
(
scatter
,
ops
::
ScatterOp
,
ops
::
ScatterOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
scatter_grad
,
ops
::
ScatterGradOp
)
REGISTER_OP_CPU_KERNEL
(
scatter
,
ops
::
ScatterOpKernel
<
float
>
);
REGISTER_OP_CPU_KERNEL
(
scatter_grad
,
ops
::
ScatterGradientOpKernel
<
float
>
);
paddle/fluid/operators/sequence_concat_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -124,9 +124,11 @@ class SequenceConcatGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP_EX
(
sequence_concat
,
ops
::
SequenceConcatOp
,
ops
::
SequenceConcatOpMaker
,
sequence_concat_grad
,
ops
::
SequenceConcatGradOp
,
false
);
REGISTER_OPERATOR
(
sequence_concat
,
ops
::
SequenceConcatOp
,
ops
::
SequenceConcatOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
false
>
/* set false to disable empty grad */
)
REGISTER_OPERATOR
(
sequence_concat_grad
,
ops
::
SequenceConcatGradOp
);
REGISTER_OP_CPU_KERNEL
(
sequence_concat
,
ops
::
SequenceConcatOpKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/sequence_conv_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -14,6 +14,8 @@ limitations under the License. */
#include "paddle/fluid/operators/sequence_conv_op.h"
#include <algorithm>
namespace
paddle
{
namespace
operators
{
...
...
@@ -174,8 +176,9 @@ context_length, context_stride and context_start.
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
sequence_conv
,
ops
::
SequenceConvOp
,
ops
::
SequenceConvOpMaker
,
sequence_conv_grad
,
ops
::
SequenceConvGradOp
);
REGISTER_OPERATOR
(
sequence_conv
,
ops
::
SequenceConvOp
,
ops
::
SequenceConvOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
sequence_conv_grad
,
ops
::
SequenceConvGradOp
)
REGISTER_OP_CPU_KERNEL
(
sequence_conv
,
...
...
paddle/fluid/operators/sequence_expand_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -200,8 +200,10 @@ class SequenceExpandOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
sequence_expand
,
ops
::
SequenceExpandOp
,
ops
::
SequenceExpandOpMaker
,
sequence_expand_grad
,
ops
::
SequenceExpandOpGrad
);
REGISTER_OPERATOR
(
sequence_expand
,
ops
::
SequenceExpandOp
,
ops
::
SequenceExpandOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
sequence_expand_grad
,
ops
::
SequenceExpandOpGrad
)
REGISTER_OP_CPU_KERNEL
(
sequence_expand
,
ops
::
SequenceExpandKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/sequence_slice_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -120,8 +120,10 @@ NOTE: The first dimension size of input, the size of offset and Length, should b
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
sequence_slice
,
ops
::
SequenceSliceOp
,
ops
::
SequenceSliceOpMaker
,
sequence_slice_grad
,
ops
::
SequenceSliceGradOp
);
REGISTER_OPERATOR
(
sequence_slice
,
ops
::
SequenceSliceOp
,
ops
::
SequenceSliceOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
sequence_slice_grad
,
ops
::
SequenceSliceGradOp
)
REGISTER_OP_CPU_KERNEL
(
sequence_slice
,
ops
::
SequenceSliceOpKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/sequence_softmax_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -155,9 +155,10 @@ class SequenceSoftmaxGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
sequence_softmax
,
ops
::
SequenceSoftmaxOp
,
ops
::
SequenceSoftmaxOpMaker
,
sequence_softmax_grad
,
ops
::
SequenceSoftmaxGradOp
);
REGISTER_OPERATOR
(
sequence_softmax
,
ops
::
SequenceSoftmaxOp
,
ops
::
SequenceSoftmaxOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
sequence_softmax_grad
,
ops
::
SequenceSoftmaxGradOp
)
REGISTER_OP_CPU_KERNEL
(
sequence_softmax
,
ops
::
SequenceSoftmaxKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
...
...
paddle/fluid/operators/sigmoid_cross_entropy_with_logits_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -135,11 +135,12 @@ However the output only shares the LoD with input `X`.
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
sigmoid_cross_entropy_with_logits
,
ops
::
SigmoidCrossEntropyWithLogitsOp
,
ops
::
SigmoidCrossEntropyWithLogitsOpMaker
,
sigmoid_cross_entropy_with_logits_grad
,
ops
::
SigmoidCrossEntropyWithLogitsGradOp
);
REGISTER_OPERATOR
(
sigmoid_cross_entropy_with_logits
,
ops
::
SigmoidCrossEntropyWithLogitsOp
,
ops
::
SigmoidCrossEntropyWithLogitsOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
sigmoid_cross_entropy_with_logits_grad
,
ops
::
SigmoidCrossEntropyWithLogitsGradOp
)
REGISTER_OP_CPU_KERNEL
(
sigmoid_cross_entropy_with_logits
,
ops
::
SigmoidCrossEntropyWithLogitsKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/smooth_l1_loss_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -132,8 +132,9 @@ class SmoothL1LossGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
smooth_l1_loss
,
ops
::
SmoothL1LossOp
,
ops
::
SmoothL1LossOpMaker
,
smooth_l1_loss_grad
,
ops
::
SmoothL1LossGradOp
);
REGISTER_OPERATOR
(
smooth_l1_loss
,
ops
::
SmoothL1LossOp
,
ops
::
SmoothL1LossOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
smooth_l1_loss_grad
,
ops
::
SmoothL1LossGradOp
)
REGISTER_OP_CPU_KERNEL
(
smooth_l1_loss
,
ops
::
SmoothL1LossKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/softmax_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -160,8 +160,9 @@ class SoftmaxOpGrad : public framework::OperatorWithKernel {
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
softmax
,
ops
::
SoftmaxOp
,
ops
::
SoftmaxOpMaker
,
softmax_grad
,
ops
::
SoftmaxOpGrad
);
REGISTER_OPERATOR
(
softmax
,
ops
::
SoftmaxOp
,
ops
::
SoftmaxOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
softmax_grad
,
ops
::
SoftmaxOpGrad
)
REGISTER_OP_CPU_KERNEL
(
softmax
,
ops
::
SoftmaxKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/spp_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -92,7 +92,9 @@ class SppOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
spp
,
ops
::
SppOp
,
ops
::
SppOpMaker
,
spp_grad
,
ops
::
SppOpGrad
);
REGISTER_OPERATOR
(
spp
,
ops
::
SppOp
,
ops
::
SppOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
spp_grad
,
ops
::
SppOpGrad
)
REGISTER_OP_CPU_KERNEL
(
spp
,
ops
::
SppKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
SppKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
);
...
...
paddle/fluid/operators/squared_l2_distance_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -109,9 +109,10 @@ class SquaredL2DistanceGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
squared_l2_distance
,
ops
::
SquaredL2DistanceOp
,
ops
::
SquaredL2DistanceOpMaker
,
squared_l2_distance_grad
,
ops
::
SquaredL2DistanceGradOp
);
REGISTER_OPERATOR
(
squared_l2_distance
,
ops
::
SquaredL2DistanceOp
,
ops
::
SquaredL2DistanceOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
squared_l2_distance_grad
,
ops
::
SquaredL2DistanceGradOp
)
REGISTER_OP_CPU_KERNEL
(
squared_l2_distance
,
ops
::
SquaredL2DistanceKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/squared_l2_norm_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -67,8 +67,10 @@ $$Out = \sum_{i} X_{i}^2$$
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
squared_l2_norm
,
ops
::
SquaredL2NormOp
,
ops
::
SquaredL2NormOpMaker
,
squared_l2_norm_grad
,
ops
::
SquaredL2NormGradOp
);
REGISTER_OPERATOR
(
squared_l2_norm
,
ops
::
SquaredL2NormOp
,
ops
::
SquaredL2NormOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
squared_l2_norm_grad
,
ops
::
SquaredL2NormGradOp
)
REGISTER_OP_CPU_KERNEL
(
squared_l2_norm
,
ops
::
SquaredL2NormKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
...
...
paddle/fluid/operators/transpose_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -118,8 +118,9 @@ class TransposeOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
transpose
,
ops
::
TransposeOp
,
ops
::
TransposeOpMaker
,
transpose_grad
,
ops
::
TransposeOpGrad
);
REGISTER_OPERATOR
(
transpose
,
ops
::
TransposeOp
,
ops
::
TransposeOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
transpose_grad
,
ops
::
TransposeOpGrad
)
REGISTER_OP_CPU_KERNEL
(
transpose
,
ops
::
TransposeKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
paddle/fluid/operators/unpool_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -132,8 +132,9 @@ class UnpoolOpGrad : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
unpool
,
ops
::
UnpoolOp
,
ops
::
Unpool2dOpMaker
,
unpool_grad
,
ops
::
UnpoolOpGrad
);
REGISTER_OPERATOR
(
unpool
,
ops
::
UnpoolOp
,
ops
::
Unpool2dOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
unpool_grad
,
ops
::
UnpoolOpGrad
)
REGISTER_OP_CPU_KERNEL
(
unpool
,
ops
::
UnpoolKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
,
ops
::
UnpoolKernel
<
paddle
::
platform
::
CPUDeviceContext
,
double
>
);
...
...
paddle/fluid/operators/warpctc_op.cc
浏览文件 @
d84cdb7b
...
...
@@ -132,8 +132,9 @@ class WarpCTCGradOp : public framework::OperatorWithKernel {
}
// namespace paddle
namespace
ops
=
paddle
::
operators
;
REGISTER_OP
(
warpctc
,
ops
::
WarpCTCOp
,
ops
::
WarpCTCOpMaker
,
warpctc_grad
,
ops
::
WarpCTCGradOp
);
REGISTER_OPERATOR
(
warpctc
,
ops
::
WarpCTCOp
,
ops
::
WarpCTCOpMaker
,
paddle
::
framework
::
DefaultGradOpDescMaker
<
true
>
)
REGISTER_OPERATOR
(
warpctc_grad
,
ops
::
WarpCTCGradOp
)
REGISTER_OP_CPU_KERNEL
(
warpctc
,
ops
::
WarpCTCKernel
<
paddle
::
platform
::
CPUDeviceContext
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录