class_docstr: A dataset that allows for active learning.
  
  Args:
      dataset: The baseline dataset.
      labelled: An array that acts as a mask which is greater than 1 for every
          data point that is labelled, and 0 for every data point that is not
          labelled.
      make_unlabelled: The function that returns an
          unlabelled version of a datum so that it can still be used in the DataLoader.
      random_state: Set the random seed for label_randomly().
      pool_specifics: Attributes to set when creating the pool.
                                       Useful to remove data augmentation.
      last_active_steps: If specified, will iterate over the last active steps
                          instead of the full dataset. Useful when doing partial finetuning.
code: def __init__(
      self,
      dataset: Dataset,
      labelled: Optional[np.ndarray] = None,
      make_unlabelled: Callable = _identity,
      random_state=None,
      pool_specifics: Optional[dict] = None,
      last_active_steps: int = -1,
  ) -> None:
      self._dataset = dataset
  
      # The labelled_map keeps track of the step at which an item as been labelled.
      if labelled is not None:
          labelled_map: np.ndarray = labelled.astype(int)
      else:
          labelled_map = np.zeros(len(self._dataset), dtype=int)
  
      if pool_specifics is None:
          pool_specifics = {}
      self.pool_specifics: Dict[str, Any] = pool_specifics
  
      self.make_unlabelled = make_unlabelled
      # For example, FileDataset has a method 'label'. This is useful when we're in prod.
      self.can_label = self.check_dataset_can_label()
      super().__init__(
          labelled=labelled_map,
          random_state=random_state,
          last_active_steps=last_active_steps,
      )
      self._warn_if_pool_stochastic()
  
imports: import warnings
  from copy import deepcopy
  from itertools import zip_longest
  from typing import Union, Optional, Callable, Any, Dict, List, Sequence, Mapping
  import numpy
  import torch
  import torch.utils.data
  from torch import Tensor
  from baal.active.dataset.base import SplittedDataset, Dataset
  from baal.utils.equality import deep_check
label_desc: Use image node_id 1 to create a new ActiveLearningDataset object from inherited base classes: SplittedDataset with example: obj = ActiveLearningDataset(dataset, labelled, make_unlabelled, random_state, pool_specifics, last_active_steps)