class_docstr: Returns a layer that computes custom logits for BERT squad model.
class_docstr_tok: ["Returns","a","layer","that","computes","custom","logits","for","BERT","squad","model","."]
docstr: Implements call() for the layer.
docstr_tok: ["Implements","call","(",")","for","the","layer","."]
code: def call(self, inputs):
      """Implements call() for the layer."""
      sequence_output = inputs
  
      input_shape = sequence_output.shape.as_list()
      sequence_length = input_shape[1]
      num_hidden_units = input_shape[2]
  
      final_hidden_input = tf.keras.backend.reshape(
          sequence_output, [-1, num_hidden_units]
      )
      logits = self.final_dense(final_hidden_input)
      logits = tf.keras.backend.reshape(
          logits, [-1, sequence_length, 2]
      )
      logits = tf.transpose(logits, [2, 0, 1])
      unstacked_logits = tf.unstack(logits, axis=0)
      if self.float_type == tf.float16:
          unstacked_logits = tf.cast(unstacked_logits, tf.float32)
      return unstacked_logits[0], unstacked_logits[1]
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  import tensorflow_hub
  from utils import tf_utils
  from utils.modeling import losses
  from utils.modeling import networks
  from utils.modeling.networks import bert_classifier
  from utils.modeling.networks import bert_pretrainer
  from utils.modeling.networks import bert_span_labeler
label_desc: Use image node_id 3 for calling the BertSquadLogitsLayer obj's underlying member method code with example usage: obj.call(inputs) and returns: unstacked_logits,  unstacked_logits