Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
df48b43b
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看板
提交
df48b43b
编写于
10月 27, 2017
作者:
C
chengduoZH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix clear zero method and remove useless code
上级
e5c167dc
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
5 addition
and
15 deletion
+5
-15
paddle/operators/pool_cudnn_op.cu
paddle/operators/pool_cudnn_op.cu
+4
-14
python/paddle/v2/framework/tests/test_pool_max_op.py
python/paddle/v2/framework/tests/test_pool_max_op.py
+1
-1
未找到文件。
paddle/operators/pool_cudnn_op.cu
浏览文件 @
df48b43b
...
...
@@ -117,8 +117,6 @@ class PoolCudnnGradOpKernel : public framework::OpKernel<T> {
// ------------------- cudnn descriptors ---------------------
ScopedTensorDescriptor
input_desc
;
ScopedTensorDescriptor
output_desc
;
ScopedTensorDescriptor
input_grad_desc
;
ScopedTensorDescriptor
output_grad_desc
;
ScopedPoolingDescriptor
pool_desc
;
DataLayout
layout
=
DataLayout
::
kNCHW
;
...
...
@@ -126,9 +124,6 @@ class PoolCudnnGradOpKernel : public framework::OpKernel<T> {
input_desc
.
descriptor
<
T
>
(
layout
,
Dims2VectorPool
(
input
->
dims
()));
cudnnTensorDescriptor_t
cudnn_output_desc
=
output_desc
.
descriptor
<
T
>
(
layout
,
Dims2VectorPool
(
output
->
dims
()));
cudnnTensorDescriptor_t
cudnn_output_grad_desc
=
output_grad_desc
.
descriptor
<
T
>
(
layout
,
Dims2VectorPool
(
output_grad
->
dims
()));
PoolingMode
pooling_mode
;
if
(
pooling_type
==
"max"
)
{
...
...
@@ -146,18 +141,13 @@ class PoolCudnnGradOpKernel : public framework::OpKernel<T> {
if
(
input_grad
)
{
T
*
input_grad_data
=
input_grad
->
mutable_data
<
T
>
(
ctx
.
GetPlace
());
auto
temp
=
framework
::
EigenVector
<
T
>::
Flatten
(
*
input_grad
);
temp
.
device
(
ctx
.
GetEigenDevice
<
paddle
::
platform
::
GPUPlace
>
())
=
temp
.
constant
(
static_cast
<
T
>
(
0
));
cudnnTensorDescriptor_t
cudnn_input_grad_desc
=
input_grad_desc
.
descriptor
<
T
>
(
layout
,
Dims2VectorPool
(
input_grad
->
dims
()));
math
::
SetConstant
<
paddle
::
platform
::
GPUPlace
,
T
>
set_zero
;
set_zero
(
ctx
.
device_context
(),
input_grad
,
static_cast
<
T
>
(
0
));
PADDLE_ENFORCE
(
platform
::
dynload
::
cudnnPoolingBackward
(
handle
,
cudnn_pool_desc
,
&
alpha
,
cudnn_output_desc
,
output_data
,
cudnn_output_
grad_desc
,
output_grad_data
,
cudnn_input_desc
,
input_data
,
&
beta
,
cudnn_input_grad
_desc
,
input_grad_data
));
cudnn_output_
desc
,
output_grad_data
,
cudnn_input_desc
,
input_data
,
&
beta
,
cudnn_input
_desc
,
input_grad_data
));
}
}
};
...
...
python/paddle/v2/framework/tests/test_pool_max_op.py
浏览文件 @
df48b43b
...
...
@@ -86,7 +86,7 @@ class TestMaxPoolWithIndex_Op(OpTest):
'strides'
:
self
.
strides
,
'paddings'
:
self
.
paddings
,
'ksize'
:
self
.
ksize
,
'global
_p
ooling'
:
self
.
global_pool
,
'global
P
ooling'
:
self
.
global_pool
,
}
self
.
inputs
=
{
'X'
:
input
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录