diff options
Diffstat (limited to 'tensorflow/core/kernels/conv_ops_3d.cc')
-rw-r--r-- | tensorflow/core/kernels/conv_ops_3d.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tensorflow/core/kernels/conv_ops_3d.cc b/tensorflow/core/kernels/conv_ops_3d.cc index 697b3f6267..e236edfc0d 100644 --- a/tensorflow/core/kernels/conv_ops_3d.cc +++ b/tensorflow/core/kernels/conv_ops_3d.cc @@ -160,8 +160,10 @@ struct LaunchConvOp<GPUDevice, T> { if (padding == Padding::SAME) { pad_planes = (out_planes - 1) * strides[0] + filter_planes - in_planes; - pad_rows = (out_rows - 1) * strides[1] + filter_rows - in_rows; - pad_cols = (out_cols - 1) * strides[2] + filter_cols - in_cols; + pad_rows = std::max<int64>( + 0, (out_rows - 1) * strides[1] + filter_rows - in_rows); + pad_cols = std::max<int64>( + 0, (out_cols - 1) * strides[2] + filter_cols - in_cols); } // NOTE: This only works in NHWC. @@ -239,6 +241,9 @@ struct LaunchConvOp<GPUDevice, T> { transformed_input.tensor<T, 5>()); input = transformed_input; + CHECK(pad_rows >= 0 && pad_cols >= 0) << "Negative row or col paddings: (" + << pad_rows << ", " << pad_cols + << ")"; perftools::gputools::dnn::BatchDescriptor input_desc(3); input_desc.set_count(in_batch) .set_feature_map_count(in_depth) |