code: def group_lasso_regularizer(
      X: Tensor, groups: List[List[int]]
  ) -> Tensor:
      r"""Computes the group lasso regularization function for the given point.
  
      Args:
          X: A bxd tensor representing the points to evaluate the regularization at.
          groups: List of indices of different groups.
  
      Returns:
          Computed group lasso norm of at the given points.
      """
      return torch.sum(
          torch.stack(
              [
                  math.sqrt(len(g))
                  * torch.linalg.norm(X[..., g], ord=2, dim=-1)
                  for g in groups
              ],
              dim=-1,
          ),
          dim=-1,
      )
  
imports: from __future__ import annotations
  import math
  from typing import Any, Callable, List, Optional
  import torch
  from botorch.acquisition.acquisition import AcquisitionFunction
  from botorch.acquisition.analytic import AnalyticAcquisitionFunction
  from botorch.acquisition.objective import GenericMCObjective
  from botorch.exceptions import UnsupportedError
  from torch import Tensor
label_desc: Use image node_id 3 for calling a global function with example usage: group_lasso_regularizer(X, groups) and returns: torch