class_docstr: Note: is ACTUALLY a cross-correlation i.e. weights are not 'flipped'
class_docstr_tok: ["Note",":","is","ACTUALLY","a","cross-correlation","i.e",".","weights","are","not","'flipped","'"]
code: def _build_pos_and_neg_contribs(self):
      if self.conv_mxts_mode == ConvMxtsMode.Linear:
          inp_diff_ref = self._get_input_diff_from_reference_vars()
          if self.data_format == DataFormat.channels_first:
              inp_diff_ref = tf.transpose(
                  a=inp_diff_ref, perm=[0, 2, 3, 1]
              )
          pos_contribs = self._compute_conv_without_bias(
              x=inp_diff_ref * hf.gt_mask(inp_diff_ref, 0.0),
              kernel=self.kernel * hf.gt_mask(self.kernel, 0.0),
          ) + self._compute_conv_without_bias(
              x=inp_diff_ref * hf.lt_mask(inp_diff_ref, 0.0),
              kernel=self.kernel * hf.lt_mask(self.kernel, 0.0),
          )
          neg_contribs = self._compute_conv_without_bias(
              x=inp_diff_ref * hf.lt_mask(inp_diff_ref, 0.0),
              kernel=self.kernel * hf.gt_mask(self.kernel, 0.0),
          ) + self._compute_conv_without_bias(
              x=inp_diff_ref * hf.gt_mask(inp_diff_ref, 0.0),
              kernel=self.kernel * hf.lt_mask(self.kernel, 0.0),
          )
      else:
          raise RuntimeError(
              "Unsupported conv_mxts_mode: " + self.conv_mxts_mode
          )
  
      if self.data_format == DataFormat.channels_first:
          pos_contribs = tf.transpose(a=pos_contribs, perm=[0, 3, 1, 2])
          neg_contribs = tf.transpose(a=neg_contribs, perm=[0, 3, 1, 2])
      return pos_contribs, neg_contribs
  
imports: from __future__ import division
  from __future__ import print_function
  from __future__ import absolute_import
  from .core import *
  from .helper_functions import conv1d_transpose_via_conv2d
  from .None import helper_functions
  import tensorflow
label_desc: Use image node_id 4 for calling the Conv2D obj's underlying member method code with example usage: obj._build_pos_and_neg_contribs() and returns: pos_contribs,  neg_contribs