From ee781437e8672914e5c14a006a515ffcf607527b Mon Sep 17 00:00:00 2001 From: Eugene Zhulenev Date: Wed, 15 Jul 2020 11:16:07 -0700 Subject: [PATCH] Verify filter dimensions sanity in Conv2DBackpropInput PiperOrigin-RevId: 321399463 Change-Id: Ic196445c1cb120168fff16acc44e1e5a080c5c5c --- tensorflow/core/kernels/conv_grad_input_ops.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tensorflow/core/kernels/conv_grad_input_ops.cc b/tensorflow/core/kernels/conv_grad_input_ops.cc index 2dd63d1f4d0..d9743a1dc57 100644 --- a/tensorflow/core/kernels/conv_grad_input_ops.cc +++ b/tensorflow/core/kernels/conv_grad_input_ops.cc @@ -561,6 +561,16 @@ class Conv2DCustomBackpropInputOp : public OpKernel { /*dilations=*/{1, 1, 1, 1}, strides_, padding_, explicit_paddings_, data_format_, &dims)); + OP_REQUIRES(context, dims.in_depth == filter.shape().dim_size(2), + errors::InvalidArgument("Computed input depth ", dims.in_depth, + " doesn't match filter input depth ", + filter.shape().dim_size(2))); + OP_REQUIRES( + context, dims.out_depth == filter.shape().dim_size(3), + errors::InvalidArgument("Computed output depth ", dims.out_depth, + " doesn't match filter output depth ", + filter.shape().dim_size(3))); + Tensor* in_backprop = nullptr; OP_REQUIRES_OK(context, context->allocate_output(0, input_shape, &in_backprop));