code: def _build_item_extractions(self, train=True):
      if train:
          self._add_module(
              "p_item_vec",
              LatentFactor(
                  l2_reg=self._l2_reg,
                  init="normal",
                  ids=self._get_input("p_item_id", train=train),
                  shape=[self._max_item, self._dim_embed],
                  scope="item",
                  reuse=False,
              ),
              train=True,
          )
          self._add_module(
              "p_item_bias",
              LatentFactor(
                  l2_reg=self._l2_reg,
                  init="zero",
                  ids=self._get_input("p_item_id", train=train),
                  shape=[self._max_item, 1],
                  scope="item_bias",
                  reuse=False,
              ),
              train=True,
          )
          self._add_module(
              "n_item_vec",
              LatentFactor(
                  l2_reg=self._l2_reg,
                  init="normal",
                  ids=self._get_input("n_item_id", train=train),
                  shape=[self._max_item, self._dim_embed],
                  scope="item",
                  reuse=True,
              ),
              train=True,
          )
          self._add_module(
              "n_item_bias",
              LatentFactor(
                  l2_reg=self._l2_reg,
                  init="zero",
                  ids=self._get_input("n_item_id", train=train),
                  shape=[self._max_item, 1],
                  scope="item_bias",
                  reuse=True,
              ),
              train=True,
          )
      else:
          self._add_module(
              "item_vec",
              LatentFactor(
                  l2_reg=self._l2_reg,
                  init="normal",
                  ids=self._get_input("item_id", train=train),
                  shape=[self._max_item, self._dim_embed],
                  scope="item",
                  reuse=True,
              ),
              train=False,
          )
          self._add_module(
              "item_bias",
              LatentFactor(
                  l2_reg=self._l2_reg,
                  init="zero",
                  ids=self._get_input("item_id", train=train),
                  shape=[self._max_item, 1],
                  scope="item_bias",
                  reuse=True,
              ),
              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 7 for calling the WCML obj's underlying member method code with example usage: obj._build_item_extractions(train) without return types