class_docstr: InnerProduct Layer used in PNN that compute the element-wise
  product or inner product between feature vectors.
class_docstr_tok: ["InnerProduct","Layer","used","in","PNN","that","compute","the","element-wise","product","or","inner","product","between","feature","vectors","."]
docstr: Args:
      num_feature_field(int) :number of feature fields.
      device(torch.device) : device object of the model.
docstr_tok: ["Args",":","num_feature_field","(","int",")",":","number","of","feature","fields",".","device","(","torch.device",")",":","device","object","of","the","model","."]
code: def __init__(self, num_feature_field, device):
      """
      Args:
          num_feature_field(int) :number of feature fields.
          device(torch.device) : device object of the model.
      """
      super(InnerProductLayer, self).__init__()
      self.num_feature_field = num_feature_field
      self.to(device)
  
imports: import torch
  import torch.nn
  from torch.nn.init import xavier_normal_, constant_
  from recbole.model.abstract_recommender import ContextRecommender
  from recbole.model.layers import MLPLayers
label_desc: Use image node_id 1 to create a new InnerProductLayer object from inherited base classes: nn with example: obj = InnerProductLayer(num_feature_field, device)