提交 59bdbde6 authored 作者: Frederic Bastien's avatar Frederic Bastien

Some comments

上级 f8549b02
...@@ -1092,6 +1092,8 @@ class PoolGrad(OpenMPOp): ...@@ -1092,6 +1092,8 @@ class PoolGrad(OpenMPOp):
class MaxPoolGrad(PoolGrad): class MaxPoolGrad(PoolGrad):
# params_type ignore_border don't change c code
def __init__(self, ignore_border, ndim=2, openmp=None): def __init__(self, ignore_border, ndim=2, openmp=None):
PoolGrad.__init__(self, ignore_border, mode='max', ndim=ndim, openmp=openmp) PoolGrad.__init__(self, ignore_border, mode='max', ndim=ndim, openmp=openmp)
...@@ -1194,7 +1196,7 @@ class MaxPoolGrad(PoolGrad): ...@@ -1194,7 +1196,7 @@ class MaxPoolGrad(PoolGrad):
total_ndim = node.inputs[0].ndim total_ndim = node.inputs[0].ndim
non_pool_ndim = total_ndim - nd non_pool_ndim = total_ndim - nd
fail = sub['fail'] fail = sub['fail']
ignore_border = int(self.ignore_border)
if self.openmp: if self.openmp:
# run in parallel over each pooling block # run in parallel over each pooling block
omp_parallel = '#pragma omp parallel for private(r_st, r_end, r_idx, i_idx, o_idx, maximum) schedule(static)' omp_parallel = '#pragma omp parallel for private(r_st, r_end, r_idx, i_idx, o_idx, maximum) schedule(static)'
...@@ -1407,6 +1409,8 @@ class MaxPoolGrad(PoolGrad): ...@@ -1407,6 +1409,8 @@ class MaxPoolGrad(PoolGrad):
class AveragePoolGrad(PoolGrad): class AveragePoolGrad(PoolGrad):
# ignore_border is used for perform, but not c code. No need in params_type
def __init__(self, ignore_border, mode='average_inc_pad', ndim=2): def __init__(self, ignore_border, mode='average_inc_pad', ndim=2):
assert mode in ['sum', 'average_inc_pad', 'average_exc_pad'] assert mode in ['sum', 'average_inc_pad', 'average_exc_pad']
PoolGrad.__init__(self, ignore_border, mode, ndim) PoolGrad.__init__(self, ignore_border, mode, ndim)
...@@ -1862,7 +1866,7 @@ class DownsampleFactorMaxGradGrad(OpenMPOp): ...@@ -1862,7 +1866,7 @@ class DownsampleFactorMaxGradGrad(OpenMPOp):
total_ndim = node.inputs[0].ndim total_ndim = node.inputs[0].ndim
non_pool_ndim = total_ndim - nd non_pool_ndim = total_ndim - nd
fail = sub['fail'] fail = sub['fail']
ignore_border = int(self.ignore_border)
if self.openmp: if self.openmp:
# run in parallel over each pooling block # run in parallel over each pooling block
omp_parallel = '#pragma omp parallel for private(r_st, r_end, r_idx, i_idx, o_idx, maximum) schedule(static)' omp_parallel = '#pragma omp parallel for private(r_st, r_end, r_idx, i_idx, o_idx, maximum) schedule(static)'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论