def testRegularization(self, type, scale): layer = tf.keras.layers.Dense(256) layer.build([None, 128]) regularization = losses.regularization_penalty( type, scale, layer.trainable_variables) self.assertEqual(0, len(regularization.shape)) self.evaluate(regularization)
def regularize_loss(self, loss, variables=None): """Regularizes the loss. Args: loss: The loss. variables: List of variables. Returns: The regularized loss. """ if variables is None: variables = self.trainable_variables regularization = self.params.get("regularization") if regularization is not None: loss += losses.regularization_penalty( regularization["type"], regularization["scale"], variables) return loss
def testRegulaizationMissingScaleValue(self): with self.assertRaises(ValueError): losses.regularization_penalty("l1_l2", 1e-4, [])
def testRegulaizationInvalidType(self): with self.assertRaises(ValueError): losses.regularization_penalty("l3", 1e-4, [])