class_docstr: DistributionOutput class for the IQN from the paper
  ``Probabilistic Time Series Forecasting with Implicit Quantile Networks``
  (https://arxiv.org/abs/2107.03743) by Gouttes et al. 2021.
  
  Parameters
  ----------
  output_domain
      Optional domain mapping of the output. Can be "positive", "unit"
      or None.
  concentration1
      Alpha parameter of the Beta distribution when sampling the taus
      during training.
  concentration0
      Beta parameter of the Beta distribution when sampling the taus
      during training.
  cos_embedding_dim
      The embedding dimension for the taus embedding layer of IQN.
      Default is 64.
code: def get_args_proj(self, in_features: int) -> nn.Module:
      return ImplicitQuantileModule(
          in_features=in_features,
          args_dim=self.args_dim,
          output_domain_map=self.output_domain_map,
          domain_map=LambdaLayer(self.domain_map),
          concentration1=self.concentration1,
          concentration0=self.concentration0,
          cos_embedding_dim=self.cos_embedding_dim,
      )
  
imports: from functools import partial
  from typing import Dict, Optional, Tuple, Callable
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.distributions import Distribution, Beta, constraints
  from gluonts.core.component import validated
  from gluonts.torch.distributions import DistributionOutput
  from gluonts.torch.modules.lambda_layer import LambdaLayer
label_desc: Use image node_id 2 for calling the ImplicitQuantileNetworkOutput obj's underlying member method code with example usage: obj.get_args_proj(in_features) and returns: ImplicitQuantileModule