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 _get_mxts_increments_for_inputs(self):
      pos_mxts = self.get_pos_mxts()
      neg_mxts = self.get_neg_mxts()
      inp_diff_ref = self._get_input_diff_from_reference_vars()
      inp_act_vars = self.inputs.get_activation_vars()
      strides_to_supply = [1] + list(self.strides) + [1]
  
      if self.data_format == DataFormat.channels_first:
          pos_mxts = tf.transpose(a=pos_mxts, perm=(0, 2, 3, 1))
          neg_mxts = tf.transpose(a=neg_mxts, perm=(0, 2, 3, 1))
          inp_diff_ref = tf.transpose(a=inp_diff_ref, perm=(0, 2, 3, 1))
          inp_act_vars = tf.transpose(a=inp_act_vars, perm=(0, 2, 3, 1))
  
      output_shape = tf.shape(inp_act_vars)
  
      if self.conv_mxts_mode == ConvMxtsMode.Linear:
          pos_inp_mask = hf.gt_mask(inp_diff_ref, 0.0)
          neg_inp_mask = hf.lt_mask(inp_diff_ref, 0.0)
          zero_inp_mask = hf.eq_mask(inp_diff_ref, 0.0)
  
          inp_mxts_increments = pos_inp_mask * (
              tf.nn.conv2d_transpose(
                  value=pos_mxts,
                  filter=self.kernel * hf.gt_mask(self.kernel, 0.0),
                  output_shape=output_shape,
                  padding=self.padding,
                  strides=strides_to_supply,
              )
              + tf.nn.conv2d_transpose(
                  value=neg_mxts,
                  filter=self.kernel * hf.lt_mask(self.kernel, 0.0),
                  output_shape=output_shape,
                  padding=self.padding,
                  strides=strides_to_supply,
              )
          )
          inp_mxts_increments += neg_inp_mask * (
              tf.nn.conv2d_transpose(
                  value=pos_mxts,
                  filter=self.kernel * hf.lt_mask(self.kernel, 0.0),
                  output_shape=output_shape,
                  padding=self.padding,
                  strides=strides_to_supply,
              )
              + tf.nn.conv2d_transpose(
                  value=neg_mxts,
                  filter=self.kernel * hf.gt_mask(self.kernel, 0.0),
                  output_shape=output_shape,
                  padding=self.padding,
                  strides=strides_to_supply,
              )
          )
          inp_mxts_increments += zero_inp_mask * tf.nn.conv2d_transpose(
              value=0.5 * (pos_mxts + neg_mxts),
              filter=self.kernel,
              output_shape=output_shape,
              padding=self.padding,
              strides=strides_to_supply,
          )
          pos_mxts_increments = inp_mxts_increments
          neg_mxts_increments = inp_mxts_increments
      else:
          raise RuntimeError(
              "Unsupported conv mxts mode: " + str(self.conv_mxts_mode)
          )
  
      if self.data_format == DataFormat.channels_first:
          pos_mxts_increments = tf.transpose(
              a=pos_mxts_increments, perm=(0, 3, 1, 2)
          )
          neg_mxts_increments = tf.transpose(
              a=neg_mxts_increments, perm=(0, 3, 1, 2)
          )
  
      return pos_mxts_increments, neg_mxts_increments
  
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 6 for calling the Conv2D obj's underlying member method code with example usage: obj._get_mxts_increments_for_inputs() and returns: pos_mxts_increments,  neg_mxts_increments