This is an automated email from the ASF dual-hosted git repository.
reminisce pushed a commit to branch v1.5.x
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/v1.5.x by this push:
new ec36dfe Port conv3d dilate > 1 fix to 1.5.x (#17601)
ec36dfe is described below
commit ec36dfe3af277c55c81646302e892895cb5908ac
Author: reminisce <[email protected]>
AuthorDate: Tue Feb 18 21:04:55 2020 -0800
Port conv3d dilate > 1 fix to 1.5.x (#17601)
---
src/operator/nn/convolution.cc | 4 ----
tests/python/unittest/test_operator.py | 4 ++++
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/operator/nn/convolution.cc b/src/operator/nn/convolution.cc
index 536e9a7..80e5c9f 100644
--- a/src/operator/nn/convolution.cc
+++ b/src/operator/nn/convolution.cc
@@ -223,8 +223,6 @@ static bool ConvolutionShape(const nnvm::NodeAttrs& attrs,
SHAPE_ASSIGN_CHECK(*in_shape, conv::kBias, Shape1(param_.num_filter));
}
- // Note: 3D dilation currently not supported.
- // Calculations below done to preserve symmetry with 1D/2D code.
const index_t dilated_ksize_d = param_.DilatedKernelSize(0);
const index_t dilated_ksize_y = param_.DilatedKernelSize(1);
const index_t dilated_ksize_x = param_.DilatedKernelSize(2);
@@ -239,8 +237,6 @@ static bool ConvolutionShape(const nnvm::NodeAttrs& attrs,
<< "incorrect stride size: " << param_.stride;
CHECK_GT(param_.dilate.Size(), 0U) \
<< "incorrect dilate size: " << param_.dilate;
- CHECK_EQ(param_.dilate.Size(), 1U)
- << "Dilate is not supported in 3d convolution";
Shape<5> oshape;
oshape[0] = dshape[0];
oshape[1] = param_.num_filter;
diff --git a/tests/python/unittest/test_operator.py
b/tests/python/unittest/test_operator.py
index 3c55052..410dfe2 100644
--- a/tests/python/unittest/test_operator.py
+++ b/tests/python/unittest/test_operator.py
@@ -2395,6 +2395,10 @@ def test_convolution_dilated_impulse_response():
for dil in [ (1,1), (2,2), (3,3) ]:
for ks in [ (3,3), (4,4), (2,3), (3,2), (1,1) ]:
test_run_convolution_dilated_impulse_response(dil=dil,
kernel_shape=ks)
+ # 3D
+ for dil in [ (1,1,1), (2,2,2), (3,3,3) ]:
+ for ks in [ (3,3,3), (4,4,4), (2,3,4), (3,2,4), (1,1,1) ]:
+ test_run_convolution_dilated_impulse_response(dil=dil,
kernel_shape=ks)
@with_seed()