class_docstr: Processes the dense features of DeepFMNN model. Output layer is sized to
  the embedding_dimension of the EmbeddingBagCollection embeddings.
  
  Args:
      in_features (int): dimensionality of the dense input features.
      hidden_layer_size (int): sizes of the hidden layers in the DenseArch.
      embedding_dim (int): the same size of the embedding_dimension of sparseArch.
      device (torch.device): default compute device.
  
  Example::
  
      B = 20
      D = 3
      in_features = 10
      dense_arch = DenseArch(
          in_features=in_features, hidden_layer_size=10, embedding_dim=D
      )
  
      dense_arch_input = torch.rand((B, in_features))
      dense_embedded = dense_arch(dense_arch_input)
class_docstr_tok: ["Processes","the","dense","features","of","DeepFMNN","model",".","Output","layer","is","sized","to","the","embedding_dimension","of","the","EmbeddingBagCollection","embeddings",".","Args",":","in_features","(","int",")",":","dimensionality","of","the","dense","input","features",".","hidden_layer_size","(","int",")",":","sizes","of","the","hidden","layers","in","the","DenseArch",".","embedding_dim","(","int",")",":","the","same","size","of","the","embedding_dimension","of","sparseArch",".","device","(","torch.device",")",":","default","compute","device",".","Example",":",":","B","=","20","D","=","3","in_features","=","10","dense_arch","=","DenseArch","(","in_features=in_features",",","hidden_layer_size=10",",","embedding_dim=D",")","dense_arch_input","=","torch.rand","(","(","B",",","in_features",")",")","dense_embedded","=","dense_arch","(","dense_arch_input",")"]
docstr: Args:
      features (torch.Tensor): size B X `num_features`.
  
  Returns:
      torch.Tensor: an output tensor of size B X D.
docstr_tok: ["Args",":","features","(","torch.Tensor",")",":","size","B","X","`","num_features","`",".","Returns",":","torch.Tensor",":","an","output","tensor","of","size","B","X","D","."]
code: def forward(self, features: torch.Tensor) -> torch.Tensor:
      """
      Args:
          features (torch.Tensor): size B X `num_features`.
  
      Returns:
          torch.Tensor: an output tensor of size B X D.
      """
      return self.model(features)
  
imports: from typing import List
  import torch
  from torch import nn
  from torchrec import EmbeddingBagCollection, KeyedJaggedTensor
  from torchrec.modules.deepfm import DeepFM, FactorizationMachine
  from torchrec.sparse.jagged_tensor import KeyedTensor
label_desc: Use image node_id 2 for calling the DenseArch obj's underlying member method code with example usage: obj.forward(features) and returns: self