class_docstr: A regularizer that applies both L1 and L2 regularization penalties.
  
  The L1 regularization penalty is computed as:
  `loss = l1 * reduce_sum(abs(x))`
  
  The L2 regularization penalty is computed as
  `loss = l2 * reduce_sum(square(x))`
  
  L1L2 may be passed to a layer as a string identifier:
  
  >>> dense = Dense(3, kernel_regularizer='l1_l2')
  
  In this case, the default values used are `l1=0.01` and `l2=0.01`.
  
  Arguments:
      l1: float, L1 regularization factor.
      l2: float, L2 regularization factor.
code: def __init__(self, l1=0.0, l2=0.0):
      # The default value for l1 and l2 are different from the value in l1_l2
      # for backward compatibility reason. Eg, L1L2(l2=0.1) will only have l2
      # and no l1 penalty.
      l1 = 0.0 if l1 is None else l1
      l2 = 0.0 if l2 is None else l2
      validate_float_arg(l1, name="l1")
      validate_float_arg(l2, name="l2")
  
      self.l1 = l1
      self.l2 = l2
  
imports: import math
  from keras import ops
  from keras.api_export import keras_export
  from keras.utils.numerical_utils import normalize
label_desc: Use image node_id 1 to create a new L1L2 object from inherited base classes: Regularizer with example: obj = L1L2(l1, l2)