class_docstr: Euler interaction layer is the core component of EulerNet,
  which enables the adaptive learning of explicit feature interactions. An Euler
  interaction layer performs the feature interaction under the complex space one time,
  taking as input a complex representation and outputting a transformed complex representation.
class_docstr_tok: ["Euler","interaction","layer","is","the","core","component","of","EulerNet",",","which","enables","the","adaptive","learning","of","explicit","feature","interactions",".","An","Euler","interaction","layer","performs","the","feature","interaction","under","the","complex","space","one","time",",","taking","as","input","a","complex","representation","and","outputting","a","transformed","complex","representation","."]
code: def __init__(self, config, inshape, outshape):
      super().__init__()
      self.feature_dim = config.embedding_size
      self.apply_norm = config.apply_norm
  
      init_orders = torch.softmax(
          torch.randn(
              inshape // self.feature_dim, outshape // self.feature_dim
          )
          / 0.01,
          dim=0,
      )
      self.inter_orders = nn.Parameter(init_orders)
      self.im = nn.Linear(inshape, outshape)
  
      self.bias_lam = nn.Parameter(
          torch.randn(1, self.feature_dim, outshape // self.feature_dim)
          * 0.01
      )
      self.bias_theta = nn.Parameter(
          torch.randn(1, self.feature_dim, outshape // self.feature_dim)
          * 0.01
      )
      nn.init.normal_(self.im.weight, mean=0, std=0.1)
  
      self.drop_ex = nn.Dropout(p=config.drop_ex)
      self.drop_im = nn.Dropout(p=config.drop_im)
      self.norm_r = nn.LayerNorm([self.feature_dim])
      self.norm_p = nn.LayerNorm([self.feature_dim])
  
file_path: RecBole/recbole/model/context_aware_recommender/eulernet.py
imports: import torch
  import torch.nn
  from torch.nn.init import xavier_normal_, constant_
  from recbole.model.abstract_recommender import ContextRecommender
  from recbole.model.loss import RegLoss
label_desc: Use image node_id 1 to create a new EulerInteractionLayer object from inherited base classes: nn with example: obj = EulerInteractionLayer(config, inshape, outshape)