class_docstr: GroupLasso Regularizer:
  The first dimension represents the input layer and the second dimension represents the output layer.
  The groups are defined by the column in the matrix W
class_docstr_tok: ["GroupLasso","Regularizer",":","The","first","dimension","represents","the","input","layer","and","the","second","dimension","represents","the","output","layer",".","The","groups","are","defined","by","the","column","in","the","matrix","W"]
code: def regularized_param(
      self, param_weights, reg_loss_function, group_name="input_group"
  ):
      if group_name == "input_group":
          reg_loss_function += (
              self.lambda_reg
              * GroupLassoRegularizer.__inputs_groups_reg(
                  layer_weights=param_weights
              )
          )  # apply the group norm on the input value
      elif group_name == "hidden_group":
          reg_loss_function += (
              self.lambda_reg
              * GroupLassoRegularizer.__inputs_groups_reg(
                  layer_weights=param_weights
              )
          )  # apply the group norm on every hidden layer
      elif group_name == "bias_group":
          reg_loss_function += (
              self.lambda_reg
              * GroupLassoRegularizer.__bias_groups_reg(
                  bias_weights=param_weights
              )
          )  # apply the group norm on the bias
      else:
          print(
              "The group {} is not supported yet. Please try one of this: [input_group, hidden_group, bias_group]".format(
                  group_name
              )
          )
      return reg_loss_function
  
imports: from enum import Enum
label_desc: Use image node_id 2 for calling the GroupLassoRegularizer obj's underlying member method code with example usage: obj.regularized_param(param_weights, reg_loss_function, group_name) and returns: reg_loss_function