class_docstr: Base class for input data adapter.
  In order to simplify the training code path, all the input data
  object will be converted to a `generator` if possible.
  The sample usage of this class is like:
  
  ```
  x = list(range(100))
  adapter_cls = [ArrayDataAdapter, ..., ListsOfScalarsDataAdapter]
  applicable_adapters = [cls for cls in adapter_cls if cls.can_handle(x)]
  if len(applicable_adapters) != 1:
    raise ValueError("Expect only one adapter class to handle the input")
  dataset = applicable_adapters[0](x).get_dataset()
  for data in dataset():
    # training
  ```
docstr: Return the batch size of the dataset created.
  For certain type of the data input, the batch size is known, and even
  required, like numpy array. Where as for generator, the batch is unknown
  unless we take a peek.
  Returns:
    int, the batch size of the dataset, or None if it is unknown.
docstr_tok: ["Return","the","batch","size","of","the","dataset","created",".","For","certain","type","of","the","data","input",",","the","batch","size","is","known",",","and","even","required",",","like","numpy","array",".","Where","as","for","generator",",","the","batch","is","unknown","unless","we","take","a","peek",".","Returns",":","int",",","the","batch","size","of","the","dataset",",","or","None","if","it","is","unknown","."]
code: def batch_size(self):
      """Return the batch size of the dataset created.
      For certain type of the data input, the batch size is known, and even
      required, like numpy array. Where as for generator, the batch is unknown
      unless we take a peek.
      Returns:
        int, the batch size of the dataset, or None if it is unknown.
      """
      raise NotImplementedError
  
file_path: elegy/elegy/data/data_adapter.py
imports: import abc
  import typing
  import six
label_desc: Use image node_id 5 for calling the DataAdapter obj's underlying member method code with example usage: obj.batch_size() without return types