code: def _build_default_interactions(self, train=True):
      if train:
          self._add_module(
              "interaction",
              NSEuDist(
                  user=self._get_module("user_vec").get_outputs()[0],
                  p_item=self._get_module("p_item_vec").get_outputs()[
                      0
                  ],
                  n_item=self._get_module("n_item_vec").get_outputs()[
                      0
                  ],
                  p_item_bias=self._get_module(
                      "p_item_bias"
                  ).get_outputs()[0],
                  n_item_bias=self._get_module(
                      "n_item_bias"
                  ).get_outputs()[0],
                  scope="pairwise_log",
                  reuse=False,
                  train=True,
                  max_item=self._max_item,
              ),
              train=True,
          )
      else:
          self._add_module(
              "interaction",
              NSEuDist(
                  user=self._get_module(
                      "user_vec", train=train
                  ).get_outputs()[0],
                  item=self._get_module(
                      "item_vec", train=train
                  ).get_outputs()[0],
                  item_bias=self._get_module(
                      "item_bias", train=train
                  ).get_outputs()[0],
                  scope="pairwise_log",
                  reuse=True,
                  train=False,
                  max_item=self._max_item,
              ),
              train=False,
          )
  
file_path: openrec/openrec/tf1/legacy/recommenders/wcml.py
imports: import numpy
  import tensorflow
  from openrec.tf1.legacy.recommenders import Recommender
  from openrec.tf1.legacy.modules.extractions import LatentFactor
  from openrec.tf1.legacy.modules.interactions import NSEuDist
label_desc: Use image node_id 8 for calling the WCML obj's underlying member method code with example usage: obj._build_default_interactions(train) without return types