code: def _build_post_training_ops(self):
      unique_user_id, _ = tf.unique(self._get_input("user_id"))
      unique_item_id, _ = tf.unique(
          tf.concat(
              [
                  self._get_input("p_item_id"),
                  tf.reshape(self._get_input("n_item_id"), [-1]),
              ],
              axis=0,
          )
      )
      return [
          self._get_module("user_vec").censor_l2_norm_op(
              censor_id_list=unique_user_id
          ),
          self._get_module("p_item_vec").censor_l2_norm_op(
              censor_id_list=unique_item_id
          ),
      ]
  
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 5 for calling the WCML obj's underlying member method code with example usage: obj._build_post_training_ops() and returns: list