From d8a9fc7fd86b1a674a0babeec85b7eef99bb736e Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Fri, 16 Apr 2021 21:51:18 +0530 Subject: [PATCH 1/9] Update convolutional.py --- tensorflow/python/keras/layers/convolutional.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tensorflow/python/keras/layers/convolutional.py b/tensorflow/python/keras/layers/convolutional.py index 2c3a8a34427740..35af8bfb547f4f 100644 --- a/tensorflow/python/keras/layers/convolutional.py +++ b/tensorflow/python/keras/layers/convolutional.py @@ -191,6 +191,8 @@ def build(self, input_shape): 'of groups. Received groups={}, but the input has {} channels ' '(full input shape is {}).'.format(self.groups, input_channel, input_shape)) + if self.filters == 0: + raise ValueError("filters should not be zero") kernel_shape = self.kernel_size + (input_channel // self.groups, self.filters) @@ -969,6 +971,8 @@ def build(self, input_shape): if input_shape.dims[channel_axis].value is None: raise ValueError('The channel dimension of the inputs ' 'should be defined. Found `None`.') + if self.filters == 0: + raise ValueError("filters should not be zero") input_dim = int(input_shape[channel_axis]) self.input_spec = InputSpec(ndim=3, axes={channel_axis: input_dim}) kernel_shape = self.kernel_size + (self.filters, input_dim) @@ -1240,6 +1244,8 @@ def build(self, input_shape): if input_shape.dims[channel_axis].value is None: raise ValueError('The channel dimension of the inputs ' 'should be defined. Found `None`.') + if self.filters == 0: + raise ValueError("filters should not be zero") input_dim = int(input_shape[channel_axis]) self.input_spec = InputSpec(ndim=4, axes={channel_axis: input_dim}) kernel_shape = self.kernel_size + (self.filters, input_dim) @@ -1550,6 +1556,8 @@ def build(self, input_shape): if input_shape.dims[channel_axis].value is None: raise ValueError('The channel dimension of the inputs ' 'should be defined, found None: ' + str(input_shape)) + if self.filters == 0: + raise ValueError("filters should not be zero") input_dim = int(input_shape[channel_axis]) kernel_shape = self.kernel_size + (self.filters, input_dim) self.input_spec = InputSpec(ndim=5, axes={channel_axis: input_dim}) @@ -1814,6 +1822,8 @@ def build(self, input_shape): if input_shape.dims[channel_axis].value is None: raise ValueError('The channel dimension of the inputs ' 'should be defined. Found `None`.') + if self.filters == 0: + raise ValueError("filters should not be zero") input_dim = int(input_shape[channel_axis]) self.input_spec = InputSpec(ndim=self.rank + 2, axes={channel_axis: input_dim}) From 7031290559b99beb7862d2340301e3a76bf8dc20 Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Fri, 16 Apr 2021 22:19:48 +0530 Subject: [PATCH 2/9] Update convolutional.py --- tensorflow/python/keras/layers/convolutional.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/tensorflow/python/keras/layers/convolutional.py b/tensorflow/python/keras/layers/convolutional.py index 35af8bfb547f4f..8cb2352b3d4337 100644 --- a/tensorflow/python/keras/layers/convolutional.py +++ b/tensorflow/python/keras/layers/convolutional.py @@ -168,6 +168,9 @@ def _validate_init(self): 'The number of filters must be evenly divisible by the number of ' 'groups. Received: groups={}, filters={}'.format( self.groups, self.filters)) + + if self.filters == 0: + raise ValueError("The value of filters should not be zero") if not all(self.kernel_size): raise ValueError('The argument `kernel_size` cannot contain 0(s). ' @@ -191,8 +194,6 @@ def build(self, input_shape): 'of groups. Received groups={}, but the input has {} channels ' '(full input shape is {}).'.format(self.groups, input_channel, input_shape)) - if self.filters == 0: - raise ValueError("filters should not be zero") kernel_shape = self.kernel_size + (input_channel // self.groups, self.filters) @@ -971,8 +972,6 @@ def build(self, input_shape): if input_shape.dims[channel_axis].value is None: raise ValueError('The channel dimension of the inputs ' 'should be defined. Found `None`.') - if self.filters == 0: - raise ValueError("filters should not be zero") input_dim = int(input_shape[channel_axis]) self.input_spec = InputSpec(ndim=3, axes={channel_axis: input_dim}) kernel_shape = self.kernel_size + (self.filters, input_dim) @@ -1244,8 +1243,6 @@ def build(self, input_shape): if input_shape.dims[channel_axis].value is None: raise ValueError('The channel dimension of the inputs ' 'should be defined. Found `None`.') - if self.filters == 0: - raise ValueError("filters should not be zero") input_dim = int(input_shape[channel_axis]) self.input_spec = InputSpec(ndim=4, axes={channel_axis: input_dim}) kernel_shape = self.kernel_size + (self.filters, input_dim) @@ -1556,8 +1553,6 @@ def build(self, input_shape): if input_shape.dims[channel_axis].value is None: raise ValueError('The channel dimension of the inputs ' 'should be defined, found None: ' + str(input_shape)) - if self.filters == 0: - raise ValueError("filters should not be zero") input_dim = int(input_shape[channel_axis]) kernel_shape = self.kernel_size + (self.filters, input_dim) self.input_spec = InputSpec(ndim=5, axes={channel_axis: input_dim}) @@ -1822,8 +1817,6 @@ def build(self, input_shape): if input_shape.dims[channel_axis].value is None: raise ValueError('The channel dimension of the inputs ' 'should be defined. Found `None`.') - if self.filters == 0: - raise ValueError("filters should not be zero") input_dim = int(input_shape[channel_axis]) self.input_spec = InputSpec(ndim=self.rank + 2, axes={channel_axis: input_dim}) From 29b32cdedda9a54b7d664674bae79993db8f4ae6 Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Fri, 16 Apr 2021 22:36:29 +0530 Subject: [PATCH 3/9] Update convolutional_test.py --- .../python/keras/layers/convolutional_test.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tensorflow/python/keras/layers/convolutional_test.py b/tensorflow/python/keras/layers/convolutional_test.py index 8c5ce10c002aa3..9da0e89b05e212 100644 --- a/tensorflow/python/keras/layers/convolutional_test.py +++ b/tensorflow/python/keras/layers/convolutional_test.py @@ -166,6 +166,11 @@ def fn(inpt): fn(inpt2) self.assertEqual(outp1_shape, layer(inpt1).shape) + def test_conv1d_zero_filters(self): + kwargs = {'filters': 0, 'kernel_size': 2} + with self.assertRaises(ValueError): + keras.layers.Conv1D(**kwargs) + @keras_parameterized.run_all_keras_modes class Conv2DTest(keras_parameterized.TestCase): @@ -298,6 +303,11 @@ def test_conv2d_zero_kernel_size(self): with self.assertRaises(ValueError): keras.layers.Conv2D(**kwargs) + def test_conv2d_zero_filters(self): + kwargs = {'filters': 0, 'kernel_size': 2} + with self.assertRaises(ValueError): + keras.layers.Conv2D(**kwargs) + @keras_parameterized.run_all_keras_modes class Conv3DTest(keras_parameterized.TestCase): @@ -433,6 +443,11 @@ def test_conv3d_dynamic_shape(self): input_shape=(None, 3, None, None, None), input_data=input_data) + def test_conv3d_zero_filters(self): + kwargs = {'filters': 0, 'kernel_size': 2} + with self.assertRaises(ValueError): + keras.layers.Conv3D(**kwargs) + @keras_parameterized.run_all_keras_modes(always_skip_v1=True) class GroupedConvTest(keras_parameterized.TestCase): @@ -518,6 +533,11 @@ def test_conv1d_transpose(self, kwargs, expected_output_shape=None): test.is_gpu_available(cuda_only=True)): self._run_test(kwargs, expected_output_shape) + def test_conv1d_transpose_zero_filters(self): + kwargs = {'filters': 0, 'kernel_size': 2} + with self.assertRaises(ValueError): + keras.layers.Conv1DTranspose(**kwargs) + @keras_parameterized.run_all_keras_modes class Conv3DTransposeTest(keras_parameterized.TestCase): @@ -551,6 +571,11 @@ def test_conv3d_transpose(self, kwargs, expected_output_shape=None): if 'data_format' not in kwargs or test.is_gpu_available(cuda_only=True): self._run_test(kwargs, expected_output_shape) + def test_conv3d_transpose_zero_filters(self): + kwargs = {'filters': 0, 'kernel_size': 2} + with self.assertRaises(ValueError): + keras.layers.Conv3DTranspose(**kwargs) + @keras_parameterized.run_all_keras_modes class ConvSequentialTest(keras_parameterized.TestCase): From 90c9408f767ca4e6ee9aee487dc812d1f507055e Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Tue, 20 Apr 2021 00:25:20 +0530 Subject: [PATCH 4/9] Changed to assertRaisesRegex to check error messages --- tensorflow/python/keras/layers/convolutional_test.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tensorflow/python/keras/layers/convolutional_test.py b/tensorflow/python/keras/layers/convolutional_test.py index 9da0e89b05e212..6f35a3e4948be9 100644 --- a/tensorflow/python/keras/layers/convolutional_test.py +++ b/tensorflow/python/keras/layers/convolutional_test.py @@ -168,7 +168,7 @@ def fn(inpt): def test_conv1d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaises(ValueError): + with self.assertRaisesRegex(ValueError): keras.layers.Conv1D(**kwargs) @@ -305,7 +305,7 @@ def test_conv2d_zero_kernel_size(self): def test_conv2d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaises(ValueError): + with self.assertRaisesRegex(ValueError): keras.layers.Conv2D(**kwargs) @@ -445,7 +445,7 @@ def test_conv3d_dynamic_shape(self): def test_conv3d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaises(ValueError): + with self.assertRaisesRegex(ValueError): keras.layers.Conv3D(**kwargs) @@ -535,7 +535,7 @@ def test_conv1d_transpose(self, kwargs, expected_output_shape=None): def test_conv1d_transpose_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaises(ValueError): + with self.assertRaisesRegex(ValueError): keras.layers.Conv1DTranspose(**kwargs) @@ -573,7 +573,7 @@ def test_conv3d_transpose(self, kwargs, expected_output_shape=None): def test_conv3d_transpose_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaises(ValueError): + with self.assertRaisesRegex(ValueError): keras.layers.Conv3DTranspose(**kwargs) From b3feadf1c8fe3b51d43c885889da5a905ebd1d68 Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Tue, 20 Apr 2021 00:30:41 +0530 Subject: [PATCH 5/9] Update convolutional.py --- tensorflow/python/keras/layers/convolutional.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow/python/keras/layers/convolutional.py b/tensorflow/python/keras/layers/convolutional.py index 8cb2352b3d4337..38d229896bf9f9 100644 --- a/tensorflow/python/keras/layers/convolutional.py +++ b/tensorflow/python/keras/layers/convolutional.py @@ -170,7 +170,7 @@ def _validate_init(self): self.groups, self.filters)) if self.filters == 0: - raise ValueError("The value of filters should not be zero") + raise ValueError("The value of `filters` argument should not be zero") if not all(self.kernel_size): raise ValueError('The argument `kernel_size` cannot contain 0(s). ' From 69d44d9b95f98e026dcb4d18c6301e46b7378249 Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Tue, 20 Apr 2021 06:58:14 +0530 Subject: [PATCH 6/9] Update convolutional_test.py --- tensorflow/python/keras/layers/convolutional_test.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tensorflow/python/keras/layers/convolutional_test.py b/tensorflow/python/keras/layers/convolutional_test.py index 6f35a3e4948be9..7eacdebe68b3d8 100644 --- a/tensorflow/python/keras/layers/convolutional_test.py +++ b/tensorflow/python/keras/layers/convolutional_test.py @@ -168,7 +168,7 @@ def fn(inpt): def test_conv1d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError): + with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): keras.layers.Conv1D(**kwargs) @@ -305,7 +305,7 @@ def test_conv2d_zero_kernel_size(self): def test_conv2d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError): + with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): keras.layers.Conv2D(**kwargs) @@ -445,7 +445,7 @@ def test_conv3d_dynamic_shape(self): def test_conv3d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError): + with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): keras.layers.Conv3D(**kwargs) @@ -535,7 +535,7 @@ def test_conv1d_transpose(self, kwargs, expected_output_shape=None): def test_conv1d_transpose_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError): + with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): keras.layers.Conv1DTranspose(**kwargs) @@ -573,7 +573,7 @@ def test_conv3d_transpose(self, kwargs, expected_output_shape=None): def test_conv3d_transpose_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError): + with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): keras.layers.Conv3DTranspose(**kwargs) From 9fdd27384162c905339d1e2507c90b50dffe20c7 Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Tue, 20 Apr 2021 06:58:55 +0530 Subject: [PATCH 7/9] Update convolutional.py --- tensorflow/python/keras/layers/convolutional.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow/python/keras/layers/convolutional.py b/tensorflow/python/keras/layers/convolutional.py index 38d229896bf9f9..6eaa4730414d94 100644 --- a/tensorflow/python/keras/layers/convolutional.py +++ b/tensorflow/python/keras/layers/convolutional.py @@ -170,7 +170,7 @@ def _validate_init(self): self.groups, self.filters)) if self.filters == 0: - raise ValueError("The value of `filters` argument should not be zero") + raise ValueError("The value of the `filters` argument should not be zero") if not all(self.kernel_size): raise ValueError('The argument `kernel_size` cannot contain 0(s). ' From 0d0bd6cdad65aff1d0224c058bb5053bb0ec30fe Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Tue, 20 Apr 2021 07:17:03 +0530 Subject: [PATCH 8/9] Update convolutional.py --- tensorflow/python/keras/layers/convolutional.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tensorflow/python/keras/layers/convolutional.py b/tensorflow/python/keras/layers/convolutional.py index 6eaa4730414d94..26f03a206ee6c2 100644 --- a/tensorflow/python/keras/layers/convolutional.py +++ b/tensorflow/python/keras/layers/convolutional.py @@ -170,7 +170,8 @@ def _validate_init(self): self.groups, self.filters)) if self.filters == 0: - raise ValueError("The value of the `filters` argument should not be zero") + raise ValueError('The value of the `filters` argument should not ' + 'be zero') if not all(self.kernel_size): raise ValueError('The argument `kernel_size` cannot contain 0(s). ' From 5b4d59d6058740fb642ad80f4511e4b29f19bce9 Mon Sep 17 00:00:00 2001 From: Hiran Sarkar Date: Tue, 20 Apr 2021 07:19:52 +0530 Subject: [PATCH 9/9] Update convolutional_test.py --- .../python/keras/layers/convolutional_test.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tensorflow/python/keras/layers/convolutional_test.py b/tensorflow/python/keras/layers/convolutional_test.py index 7eacdebe68b3d8..49794f31622895 100644 --- a/tensorflow/python/keras/layers/convolutional_test.py +++ b/tensorflow/python/keras/layers/convolutional_test.py @@ -168,7 +168,8 @@ def fn(inpt): def test_conv1d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): + with self.assertRaisesRegex(ValueError, 'The value of the `filters` ' + 'argument should not be zero'): keras.layers.Conv1D(**kwargs) @@ -305,7 +306,8 @@ def test_conv2d_zero_kernel_size(self): def test_conv2d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): + with self.assertRaisesRegex(ValueError, 'The value of the `filters` ' + 'argument should not be zero'): keras.layers.Conv2D(**kwargs) @@ -445,7 +447,8 @@ def test_conv3d_dynamic_shape(self): def test_conv3d_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): + with self.assertRaisesRegex(ValueError, 'The value of the `filters` ' + 'argument should not be zero'): keras.layers.Conv3D(**kwargs) @@ -535,7 +538,8 @@ def test_conv1d_transpose(self, kwargs, expected_output_shape=None): def test_conv1d_transpose_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): + with self.assertRaisesRegex(ValueError, 'The value of the `filters` ' + 'argument should not be zero'): keras.layers.Conv1DTranspose(**kwargs) @@ -573,7 +577,8 @@ def test_conv3d_transpose(self, kwargs, expected_output_shape=None): def test_conv3d_transpose_zero_filters(self): kwargs = {'filters': 0, 'kernel_size': 2} - with self.assertRaisesRegex(ValueError, "The value of the `filters` argument should not be zero"): + with self.assertRaisesRegex(ValueError, 'The value of the `filters` ' + 'argument should not be zero'): keras.layers.Conv3DTranspose(**kwargs)