Merge pull request #47017 from yongtang:46993-tf.keras.layers.LeakyReLU-alpha-None

PiperOrigin-RevId: 356613275
Change-Id: I11d206badeaa7a57999b4062ed74de84136df4a5
This commit is contained in:
TensorFlower Gardener 2021-02-09 16:17:16 -08:00
commit d7defaef6d
2 changed files with 25 additions and 0 deletions

View File

@ -71,6 +71,9 @@ class LeakyReLU(Layer):
def __init__(self, alpha=0.3, **kwargs):
super(LeakyReLU, self).__init__(**kwargs)
if alpha is None:
raise ValueError('alpha of leaky Relu layer '
'cannot be None. Required a float')
self.supports_masking = True
self.alpha = K.cast_to_floatx(alpha)
@ -206,6 +209,8 @@ class ELU(Layer):
def __init__(self, alpha=1.0, **kwargs):
super(ELU, self).__init__(**kwargs)
if alpha is None:
raise ValueError('alpha of ELU layer ' 'cannot be None. Required a float')
self.supports_masking = True
self.alpha = K.cast_to_floatx(alpha)

View File

@ -108,6 +108,26 @@ class AdvancedActivationsTest(keras_parameterized.TestCase):
run_eagerly=testing_utils.should_run_eagerly())
model.fit(np.ones((10, 10)), np.ones((10, 1)), batch_size=2)
def test_leaky_relu_with_invalid_alpha(self):
# Test case for GitHub issue 46993.
with self.assertRaisesRegex(ValueError,
'alpha of leaky Relu layer cannot be None'):
testing_utils.layer_test(
keras.layers.LeakyReLU,
kwargs={'alpha': None},
input_shape=(2, 3, 4),
supports_masking=True)
def test_leaky_elu_with_invalid_alpha(self):
# Test case for GitHub issue 46993.
with self.assertRaisesRegex(ValueError,
'alpha of ELU layer cannot be None'):
testing_utils.layer_test(
keras.layers.ELU,
kwargs={'alpha': None},
input_shape=(2, 3, 4),
supports_masking=True)
if __name__ == '__main__':
test.main()