示例#1
0
 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)
示例#2
0
  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
示例#3
0
 def testRegulaizationMissingScaleValue(self):
     with self.assertRaises(ValueError):
         losses.regularization_penalty("l1_l2", 1e-4, [])
示例#4
0
 def testRegulaizationInvalidType(self):
     with self.assertRaises(ValueError):
         losses.regularization_penalty("l3", 1e-4, [])