code: def forward(
      self, x: torch.Tensor, quantiles: torch.Tensor
  ) -> torch.Tensor:
      # embed quantiles
      cos_emb_tau = torch.cos(
          quantiles[:, None] * self.cos_multipliers[None]
      )  # n_quantiles x hidden_size
      # modulates input depending on quantile
      cos_emb_tau = self.quantile_layer(
          cos_emb_tau
      )  # n_quantiles x input_size
  
      emb_inputs = x.unsqueeze(-2) * (
          1.0 + cos_emb_tau
      )  # ... x n_quantiles x input_size
      emb_outputs = self.output_layer(emb_inputs).squeeze(
          -1
      )  # ... x n_quantiles
      return emb_outputs
  
imports: from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import numpy
  from sklearn.base import BaseEstimator
  import torch
  from torch import distributions, nn
  import torch.nn.functional
  from pytorch_forecasting.data.encoders import TorchNormalizer, softplus_inv
  from pytorch_forecasting.metrics.base_metrics import DistributionLoss, MultivariateDistributionLoss
label_desc: Use image node_id 2 for calling the ImplicitQuantileNetwork obj's underlying member method code with example usage: obj.forward(x, quantiles) and returns: emb_outputs