Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
f302c6a3
P
Paddle
项目概览
Crayon鑫
/
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看板
提交
f302c6a3
编写于
11月 06, 2017
作者:
C
chengduoZH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
write conv2d and conv3d together
上级
ba7db29d
变更
6
展开全部
显示空白变更内容
内联
并排
Showing
6 changed file
with
145 addition
and
294 deletion
+145
-294
paddle/operators/conv_cudnn_op.cc
paddle/operators/conv_cudnn_op.cc
+3
-3
paddle/operators/conv_op.cc
paddle/operators/conv_op.cc
+6
-6
paddle/operators/conv_op.cu
paddle/operators/conv_op.cu
+6
-6
paddle/operators/conv_op.h
paddle/operators/conv_op.h
+124
-271
python/paddle/v2/framework/tests/test_conv2d_op.py
python/paddle/v2/framework/tests/test_conv2d_op.py
+3
-5
python/paddle/v2/framework/tests/test_conv3d_op.py
python/paddle/v2/framework/tests/test_conv3d_op.py
+3
-3
未找到文件。
paddle/operators/conv_cudnn_op.cc
浏览文件 @
f302c6a3
...
@@ -41,8 +41,8 @@ namespace ops = paddle::operators;
...
@@ -41,8 +41,8 @@ namespace ops = paddle::operators;
REGISTER_OP
(
conv_cudnn
,
ops
::
ConvOp
,
ops
::
CudnnConvOpMaker
,
conv_cudnn_grad
,
REGISTER_OP
(
conv_cudnn
,
ops
::
ConvOp
,
ops
::
CudnnConvOpMaker
,
conv_cudnn_grad
,
ops
::
ConvOpGrad
);
ops
::
ConvOpGrad
);
REGISTER_OP_CPU_KERNEL
(
REGISTER_OP_CPU_KERNEL
(
conv_cudnn
,
conv_cudnn
,
ops
::
GemmConv2D
Kernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
ops
::
GemmConv
Kernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
REGISTER_OP_CPU_KERNEL
(
conv_cudnn_grad
,
conv_cudnn_grad
,
ops
::
GemmConvGrad
2D
Kernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
ops
::
GemmConvGradKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
paddle/operators/conv_op.cc
浏览文件 @
f302c6a3
...
@@ -198,12 +198,12 @@ namespace ops = paddle::operators;
...
@@ -198,12 +198,12 @@ namespace ops = paddle::operators;
REGISTER_OP
(
conv3d
,
ops
::
ConvOp
,
ops
::
Conv3DOpMaker
,
conv3d_grad
,
REGISTER_OP
(
conv3d
,
ops
::
ConvOp
,
ops
::
Conv3DOpMaker
,
conv3d_grad
,
ops
::
ConvOpGrad
);
ops
::
ConvOpGrad
);
REGISTER_OP_CPU_KERNEL
(
conv2d
,
ops
::
GemmConvKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
REGISTER_OP_CPU_KERNEL
(
conv2d
,
ops
::
GemmConv2DKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
conv2d_grad
,
ops
::
GemmConvGradKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
conv2d_grad
,
ops
::
GemmConvGrad2DKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
conv3d
,
ops
::
GemmConvKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
REGISTER_OP_CPU_KERNEL
(
conv3d
,
ops
::
GemmConv3DKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
conv3d_grad
,
ops
::
GemmConvGradKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
REGISTER_OP_CPU_KERNEL
(
conv3d_grad
,
ops
::
GemmConvGrad3DKernel
<
paddle
::
platform
::
CPUPlace
,
float
>
);
paddle/operators/conv_op.cu
浏览文件 @
f302c6a3
...
@@ -16,12 +16,12 @@
...
@@ -16,12 +16,12 @@
namespace
ops
=
paddle
::
operators
;
namespace
ops
=
paddle
::
operators
;
REGISTER_OP_GPU_KERNEL
(
conv2d
,
ops
::
GemmConvKernel
<
paddle
::
platform
::
GPUPlace
,
float
>
);
REGISTER_OP_GPU_KERNEL
(
REGISTER_OP_GPU_KERNEL
(
conv2d
,
ops
::
GemmConv2DKernel
<
paddle
::
platform
::
GPUPlace
,
float
>
);
conv2d_grad
,
ops
::
GemmConvGradKernel
<
paddle
::
platform
::
GPUPlace
,
float
>
);
REGISTER_OP_GPU_KERNEL
(
conv2d_grad
,
ops
::
GemmConvGrad2DKernel
<
paddle
::
platform
::
GPUPlace
,
float
>
);
REGISTER_OP_GPU_KERNEL
(
conv3d
,
ops
::
GemmConvKernel
<
paddle
::
platform
::
GPUPlace
,
float
>
);
REGISTER_OP_GPU_KERNEL
(
REGISTER_OP_GPU_KERNEL
(
conv3d
,
ops
::
GemmConv3DKernel
<
paddle
::
platform
::
GPUPlace
,
float
>
);
conv3d_grad
,
ops
::
GemmConvGradKernel
<
paddle
::
platform
::
GPUPlace
,
float
>
);
REGISTER_OP_GPU_KERNEL
(
conv3d_grad
,
ops
::
GemmConvGrad3DKernel
<
paddle
::
platform
::
GPUPlace
,
float
>
);
paddle/operators/conv_op.h
浏览文件 @
f302c6a3
此差异已折叠。
点击以展开。
python/paddle/v2/framework/tests/test_conv2d_op.py
浏览文件 @
f302c6a3
...
@@ -61,25 +61,23 @@ class TestConv2dOp(OpTest):
...
@@ -61,25 +61,23 @@ class TestConv2dOp(OpTest):
def
test_check_grad
(
self
):
def
test_check_grad
(
self
):
self
.
check_grad
(
self
.
check_grad
(
set
([
'Input'
,
'Filter'
]),
'Output'
,
max_relative_error
=
0.0
5
)
set
([
'Input'
,
'Filter'
]),
'Output'
,
max_relative_error
=
0.0
2
)
def
test_check_grad_no_filter
(
self
):
def
test_check_grad_no_filter
(
self
):
self
.
check_grad
(
self
.
check_grad
(
[
'Input'
],
[
'Input'
],
'Output'
,
'Output'
,
max_relative_error
=
0.0
5
,
max_relative_error
=
0.0
2
,
no_grad_set
=
set
([
'Filter'
]))
no_grad_set
=
set
([
'Filter'
]))
def
test_check_grad_no_input
(
self
):
def
test_check_grad_no_input
(
self
):
self
.
check_grad
(
self
.
check_grad
(
[
'Filter'
],
[
'Filter'
],
'Output'
,
'Output'
,
max_relative_error
=
0.0
5
,
max_relative_error
=
0.0
2
,
no_grad_set
=
set
([
'Input'
]))
no_grad_set
=
set
([
'Input'
]))
def
init_test_case
(
self
):
def
init_test_case
(
self
):
# self.groups = 1
# self.op_type = "conv2d"
self
.
pad
=
[
0
,
0
]
self
.
pad
=
[
0
,
0
]
self
.
stride
=
[
1
,
1
]
self
.
stride
=
[
1
,
1
]
self
.
dilations
=
[
1
,
1
]
self
.
dilations
=
[
1
,
1
]
...
...
python/paddle/v2/framework/tests/test_conv3d_op.py
浏览文件 @
f302c6a3
...
@@ -64,20 +64,20 @@ class TestConv3dOp(OpTest):
...
@@ -64,20 +64,20 @@ class TestConv3dOp(OpTest):
def
test_check_grad
(
self
):
def
test_check_grad
(
self
):
self
.
check_grad
(
self
.
check_grad
(
set
([
'Input'
,
'Filter'
]),
'Output'
,
max_relative_error
=
0.0
5
)
set
([
'Input'
,
'Filter'
]),
'Output'
,
max_relative_error
=
0.0
3
)
def
test_check_grad_no_filter
(
self
):
def
test_check_grad_no_filter
(
self
):
self
.
check_grad
(
self
.
check_grad
(
[
'Input'
],
[
'Input'
],
'Output'
,
'Output'
,
max_relative_error
=
0.0
5
,
max_relative_error
=
0.0
3
,
no_grad_set
=
set
([
'Filter'
]))
no_grad_set
=
set
([
'Filter'
]))
def
test_check_grad_no_input
(
self
):
def
test_check_grad_no_input
(
self
):
self
.
check_grad
(
self
.
check_grad
(
[
'Filter'
],
[
'Filter'
],
'Output'
,
'Output'
,
max_relative_error
=
0.0
5
,
max_relative_error
=
0.0
3
,
no_grad_set
=
set
([
'Input'
]))
no_grad_set
=
set
([
'Input'
]))
def
init_test_case
(
self
):
def
init_test_case
(
self
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录