class_docstr: A dataset class that converts from raw data to
  a dataset that can be used by DataLayerNM.
  Args:
      input_file: file to sequence + label.
          the first line is header (sentence [tab] label)
          each line should be [sentence][tab][label]
      tokenizer: tokenizer object such as AutoTokenizer
      max_seq_length: max sequence length minus 2 for [CLS] and [SEP]
      num_samples: number of samples you want to use for the dataset.
          If -1, use all dataset. Useful for testing.
      shuffle: Shuffles the dataset after loading.
      use_cache: Enables caching to use pickle format to store and read data from
code: def __len__(self):
      return len(self.features)
  
imports: import os
  import pickle
  import random
  from typing import Dict, List, Optional
  import numpy
  import torch
  from nemo.collections.common.tokenizers.tokenizer_spec import TokenizerSpec
  from nemo.collections.nlp.data.data_utils.data_preprocessing import fill_class_weights, get_freq_weights, get_label_stats, get_stats
  from nemo.collections.nlp.parts.utils_funcs import list2str
  from nemo.core.classes import Dataset
  from nemo.core.neural_types import ChannelType, LabelsType, MaskType, NeuralType
  from nemo.utils import logging
  from nemo.utils.env_var_parsing import get_envint
label_desc: Use image node_id 3 for calling the TextClassificationDataset obj's underlying member method code with example usage: obj.__len__() and returns: len