class_docstr: Numerical tokenizer for numerical features in tabular data.
  It transforms the input numerical features to tokens (embeddings).
  
  The numerical features usually refers to continuous features.
  
  It consists of two steps:
      1. each feature is multiplied by a trainable vector i.e., weights,
      2. another trainable vector is added i.e., bias.
  
  Note that each feature has its separate pair of trainable vectors,
  i.e. the vectors are not shared between features.
class_docstr_tok: ["Numerical","tokenizer","for","numerical","features","in","tabular","data",".","It","transforms","the","input","numerical","features","to","tokens","(","embeddings",")",".","The","numerical","features","usually","refers","to","continuous","features",".","It","consists","of","two","steps",":","1.","each","feature","is","multiplied","by","a","trainable","vector","i.e.",",","weights",",","2.","another","trainable","vector","is","added","i.e.",",","bias",".","Note","that","each","feature","has","its","separate","pair","of","trainable","vectors",",","i.e",".","the","vectors","are","not","shared","between","features","."]
docstr: Parameters
  ----------
  in_features:
      Dimension of input features i.e. the number of continuous (scalar) features
  d_token:
      The size of one token.
  bias:
      If `True`, for each feature, an additional trainable vector will be added to the
      embedding regardless of feature value. Notablly, the bias are not shared between features.
  initialization:
      Initialization policy for parameters. Must be one of `['uniform', 'normal']`.
  
  References
  ----------
  Yury Gorishniy, Ivan Rubachev, Valentin Khrulkov, Artem Babenko,
  "Revisiting Deep Learning Models for Tabular Data", 2021
  https://arxiv.org/pdf/2106.11959.pdf
code: def __init__(
      self,
      in_features: int,
      d_token: int,
      bias: Optional[bool] = True,
      initialization: Optional[str] = "normal",
  ):
      """
      Parameters
      ----------
      in_features:
          Dimension of input features i.e. the number of continuous (scalar) features
      d_token:
          The size of one token.
      bias:
          If `True`, for each feature, an additional trainable vector will be added to the
          embedding regardless of feature value. Notablly, the bias are not shared between features.
      initialization:
          Initialization policy for parameters. Must be one of `['uniform', 'normal']`.
  
      References
      ----------
      Yury Gorishniy, Ivan Rubachev, Valentin Khrulkov, Artem Babenko,
      "Revisiting Deep Learning Models for Tabular Data", 2021
      https://arxiv.org/pdf/2106.11959.pdf
      """
      super().__init__()
  
      initialization_ = _TokenInitialization.from_str(initialization)
      self.weight = nn.Parameter(Tensor(in_features, d_token))
      self.bias = (
          nn.Parameter(Tensor(in_features, d_token)) if bias else None
      )
      for parameter in [self.weight, self.bias]:
          if parameter is not None:
              initialization_.apply(parameter, d_token)
  
imports: from typing import List, Optional
  import torch
  from torch import Tensor, nn
  from ..constants import CATEGORICAL, FEATURES, LABEL, LOGITS, NUMERICAL
  from .custom_transformer import CLSToken, Custom_Transformer, _TokenInitialization
  from .utils import init_weights
label_desc: Use image node_id 1 to create a new NumericalFeatureTokenizer object from inherited base classes: nn with example: obj = NumericalFeatureTokenizer(in_features, d_token, bias, initialization)