class_docstr: A speaker model with ResNet layers. 
class_docstr_tok: ["A","speaker","model","with","ResNet","layers","."]
docstr: Build the model. 
docstr_tok: ["Build","the","model","."]
code: def model(self, feats, labels):
      """Build the model."""
      x = self.resnet(feats)
  
      with tf.variable_scope("avg_pooling"):
          batch_t = tf.shape(x)[0]
          time_t = tf.shape(x)[1]
          feat, channel = x.shape.as_list()[2:]
          x = tf.reshape(x, [batch_t, time_t, feat * channel])
          x = self.pooling_layer(x, pooling_type="average")
  
      with tf.variable_scope("output_layer"):
          shape = x.shape.as_list()
          shape = shape[-1]
          hidden_dims = self.params().embedding_size
          y = x
          y = common_layers.linear(
              y, "dense-matmul", [shape, hidden_dims], has_bias=True
          )
          y = tf.layers.batch_normalization(
              y,
              axis=-1,
              momentum=0.99,
              training=self.train,
              name="dense-bn",
          )
          embedding = y
          dense_output = y
  
      logits = self.logits_layer(dense_output, labels)
      model_outputs = {"logits": logits, "embeddings": embedding}
      return model_outputs
  
imports: import math
  from absl import logging
  import delta.compat
  import tensorflow.keras.layers
  from delta import utils
  from delta.layers import common_layers
  from delta.models.base_model import RawModel
  from delta.utils.register import registers
  from delta.utils.loss.loss_utils import arcface_loss
  from delta.utils.hparam import HParams
label_desc: Use image node_id 2 for calling the SpeakerResNetRawModel obj's underlying member method code with example usage: obj.model(feats, labels) and returns: model_outputs