class_docstr: Switch layer of Neural Shuffle-Exchange network.
docstr: Linear mapping with two reset gates.
  
  Args:
    inputs: Input tensor
    suffix: Linear map name suffix
    bias_start_reset: Bias start value for reset gate
    in_units: Size of input tensor feature map count
    out_units: Size of output tensor feature map count
  Return:
    tf.Tensor: Convolution apply to input tensor
docstr_tok: ["Linear","mapping","with","two","reset","gates",".","Args",":","inputs",":","Input","tensor","suffix",":","Linear","map","name","suffix","bias_start_reset",":","Bias","start","value","for","reset","gate","in_units",":","Size","of","input","tensor","feature","map","count","out_units",":","Size","of","output","tensor","feature","map","count","Return",":","tf.Tensor",":","Convolution","apply","to","input","tensor"]
code: def gated_linear_map(
      self, inputs, suffix, bias_start_reset, in_units, out_units
  ):
      """Linear mapping with two reset gates.
  
      Args:
        inputs: Input tensor
        suffix: Linear map name suffix
        bias_start_reset: Bias start value for reset gate
        in_units: Size of input tensor feature map count
        out_units: Size of output tensor feature map count
      Return:
        tf.Tensor: Convolution apply to input tensor
      """
  
      def reset_gate(name):
          prefix = self.prefix + name + suffix
          reset = conv_linear_map(
              inputs,
              in_units * 2,
              in_units * 2,
              bias_start_reset,
              prefix,
          )
          return tf.nn.sigmoid(reset)
  
      in_shape = [self.batch_size, self.length // 2, in_units * 2]
      inputs = tf.reshape(inputs, in_shape)
  
      reset1 = reset_gate("/reset1/")
      reset2 = reset_gate("/reset2/")
      res1 = conv_linear_map(
          inputs * reset1,
          in_units * 2,
          out_units,
          0.0,
          self.prefix + "/cand1/" + suffix,
      )
      res2 = conv_linear_map(
          inputs * reset2,
          in_units * 2,
          out_units,
          0.0,
          self.prefix + "/cand2/" + suffix,
      )
  
      res = tf.concat([res1, res2], axis=2)
      res = tf.reshape(res, [self.batch_size, self.length, out_units])
      return tf.nn.tanh(res)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  from tensor2tensor.layers import common_hparams
  from tensor2tensor.utils import registry
  from tensor2tensor.utils import t2t_model
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
label_desc: Use image node_id 3 for calling the SwitchLayer obj's underlying member method code with example usage: obj.gated_linear_map(inputs, suffix, bias_start_reset, in_units, out_units) and returns: tf, tf