class_docstr: ASR Task 
class_docstr_tok: ["ASR","Task"]
docstr: uttid: []
  feat: [feat_shape]
  src_len: []
  label: [None]
  tgt_len: []
docstr_tok: ["uttid",":","[","]","feat",":","[","feat_shape","]","src_len",":","[","]","label",":","[","None","]","tgt_len",":","[","]"]
code: def feature_spec(
      self, batch_size_
  ):  # pylint: disable=arguments-differ
      """
      uttid: []
      feat: [feat_shape]
      src_len: []
      label: [None]
      tgt_len: []
      """
      values = None
      batch_size = None
      time = None
      if self.dummy:
          batch_size = batch_size_
          time = 10
          logging.info(
              "Dummy data: batch size {} time {}".format(
                  batch_size, time
              )
          )
  
      types = (tf.string, tf.float32, tf.int32, tf.int32, tf.int32)
      if self.batch_mode or self.dummy:
          # batch of examples
          shapes = (
              # uttid
              tf.TensorShape([batch_size]),
              # input
              tf.TensorShape([batch_size, time, *self.feat_shape]),
              # input len
              tf.TensorShape([batch_size]),
              # output
              tf.TensorShape([batch_size, time]),
              # output len
              tf.TensorShape([batch_size]),
          )
      else:
          # one example
          shapes = (
              # uttid
              tf.TensorShape([]),
              # input
              tf.TensorShape([time, *self.feat_shape]),
              # input len
              tf.TensorShape([]),
              # output
              tf.TensorShape([time]),
              # output len
              tf.TensorShape([]),
          )
      if self.dummy:
          values = ("uttid_1", 1, 2, 3, 4)
          logging.info("Dummy data: shapes {}".format(shapes))
          logging.info("Dummy data: types {}".format(types))
          logging.info("Dummy data: values {}".format(values))
      return types, shapes, values
  
imports: import numpy
  import delta.compat
  from absl import logging
  from delta import utils
  from delta.data.utils import espnet_utils
  from delta.utils.register import registers
  from delta.data.task.base_speech_task import SpeechTask
label_desc: Use image node_id 13 for calling the AsrSeqTask obj's underlying member method code with example usage: obj.feature_spec(batch_size_) and returns: types,  shapes,  values