class_docstr: This is a abstract context-aware recommender. All the context-aware model should implement this class.
  The base context-aware recommender class provide the basic embedding function of feature fields which also
  contains a first-order part of feature fields.
class_docstr_tok: ["This","is","a","abstract","context-aware","recommender",".","All","the","context-aware","model","should","implement","this","class",".","The","base","context-aware","recommender","class","provide","the","basic","embedding","function","of","feature","fields","which","also","contains","a","first-order","part","of","feature","fields","."]
code: def concat_embed_input_fields(self, interaction):
      sparse_embedding, dense_embedding = self.embed_input_fields(
          interaction
      )
      all_embeddings = []
      if sparse_embedding is not None:
          all_embeddings.append(sparse_embedding)
      if (
          dense_embedding is not None
          and len(dense_embedding.shape) == 3
      ):
          all_embeddings.append(dense_embedding)
      return torch.cat(all_embeddings, dim=1)
  
imports: from logging import getLogger
  import numpy
  import torch
  import torch.nn
  from recbole.model.layers import FMEmbedding, FMFirstOrderLinear, FLEmbedding
  from recbole.utils import ModelType, InputType, FeatureSource, FeatureType, set_color
label_desc: Use image node_id 7 for calling the ContextRecommender obj's underlying member method code with example usage: obj.concat_embed_input_fields(interaction) and returns: torch