docstr: Parameters
  ----------
  features
      Numerical features with shape (..., sum(self.feature_dims)).
  
  Returns
  -------
  projected_features
      List of project features, with shapes
      [(..., self.embedding_dims[i]) for i in self.embedding_dims]
docstr_tok: ["Parameters","--","--","--","--","--","features","Numerical","features","with","shape","(","...",",","sum","(","self.feature_dims",")",")",".","Returns","--","--","--","-","projected_features","List","of","project","features",",","with","shapes","[","(","...",",","self.embedding_dims","[","i","]",")","for","i","in","self.embedding_dims","]"]
code: def forward(self, features: torch.Tensor) -> List[torch.Tensor]:
      """
  
      Parameters
      ----------
      features
          Numerical features with shape (..., sum(self.feature_dims)).
  
      Returns
      -------
      projected_features
          List of project features, with shapes
          [(..., self.embedding_dims[i]) for i in self.embedding_dims]
      """
      if self._num_features > 1:
          feature_slices = torch.split(
              features, self.feature_dims, dim=-1
          )
      else:
          feature_slices = tuple([features])
  
      return [
          proj(feat_slice)
          for proj, feat_slice in zip(self._projectors, feature_slices)
      ]
  
imports: from typing import List, Optional, Tuple
  import torch
  import torch.nn
  from gluonts.core.component import validated
  from gluonts.torch.modules.feature import FeatureEmbedder
label_desc: Use image node_id 2 for calling the FeatureProjector obj's underlying member method code with example usage: obj.forward(features) and returns: unknown