class_docstr: Emnist dataset.
code: def _split_generators(self, dl_manager):
      filenames = {
          "train_data": "emnist-{}-train-images-idx3-ubyte.gz".format(
              self.builder_config.name
          ),
          "train_labels": "emnist-{}-train-labels-idx1-ubyte.gz".format(
              self.builder_config.name
          ),
          "test_data": "emnist-{}-test-images-idx3-ubyte.gz".format(
              self.builder_config.name
          ),
          "test_labels": "emnist-{}-test-labels-idx1-ubyte.gz".format(
              self.builder_config.name
          ),
      }
  
      dir_name = os.path.join(
          dl_manager.download_and_extract(self.URL), "gzip"
      )
      extracted = dl_manager.extract(
          {
              k: os.path.join(dir_name, fname)
              for k, fname in filenames.items()
          }
      )
  
      return [
          tfds.core.SplitGenerator(
              name=tfds.Split.TRAIN,
              gen_kwargs=dict(
                  num_examples=self.builder_config.train_examples,
                  data_path=extracted["train_data"],
                  label_path=extracted["train_labels"],
              ),
          ),
          tfds.core.SplitGenerator(
              name=tfds.Split.TEST,
              gen_kwargs=dict(
                  num_examples=self.builder_config.test_examples,
                  data_path=extracted["test_data"],
                  label_path=extracted["test_labels"],
              ),
          ),
      ]
  
imports: import os
  import numpy
  from six.moves import urllib
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
  import tensorflow_datasets.public_api
label_desc: Use image node_id 2 for calling the EMNIST obj's underlying member method code with example usage: obj._split_generators(dl_manager) and returns: list