class_docstr: MiniDeepGlobeRoadExtraction dataset is extraced from DeepGlobe CVPR2018 challenge (http://deepglobe.org/)
  
  There are 800 images in the training set and 200 images in the validation set.
  
  Args:
      dataset_root (str, optional): The dataset directory. Default: None.
      transforms (list, optional): Transforms for image. Default: None.
      mode (str, optional): Which part of dataset to use. It is one of ('train', 'val'). Default: 'train'.
      edge (bool, optional): Whether to compute edge while training. Default: False.
code: def __init__(
      self, dataset_root=None, transforms=None, mode="train", edge=False
  ):
      self.dataset_root = dataset_root
      self.transforms = Compose(transforms)
      mode = mode.lower()
      self.mode = mode
      self.file_list = list()
      self.num_classes = self.NUM_CLASSES
      self.ignore_index = self.IGNORE_INDEX
      self.edge = edge
  
      if mode not in ["train", "val"]:
          raise ValueError(
              "`mode` should be 'train' or 'val', but got {}.".format(
                  mode
              )
          )
  
      if self.transforms is None:
          raise ValueError("`transforms` is necessary, but it is None.")
  
      if self.dataset_root is None:
          self.dataset_root = download_file_and_uncompress(
              url=URL,
              savepath=seg_env.DATA_HOME,
              extrapath=seg_env.DATA_HOME,
          )
      elif not os.path.exists(self.dataset_root):
          self.dataset_root = os.path.normpath(self.dataset_root)
          savepath, extraname = self.dataset_root.rsplit(
              sep=os.path.sep, maxsplit=1
          )
          self.dataset_root = download_file_and_uncompress(
              url=URL,
              savepath=savepath,
              extrapath=savepath,
              extraname=extraname,
          )
  
      if mode == "train":
          file_path = os.path.join(self.dataset_root, "train.txt")
      else:
          file_path = os.path.join(self.dataset_root, "val.txt")
  
      with open(file_path, "r") as f:
          for line in f:
              items = line.strip().split("|")
              if len(items) != 2:
                  if mode == "train" or mode == "val":
                      raise Exception(
                          "File list format incorrect! It should be"
                          " image_name|label_name\\n"
                      )
                  image_path = os.path.join(self.dataset_root, items[0])
                  grt_path = None
              else:
                  image_path = os.path.join(self.dataset_root, items[0])
                  grt_path = os.path.join(self.dataset_root, items[1])
              self.file_list.append([image_path, grt_path])
  
file_path: PaddleSeg/paddleseg/datasets/mini_deep_globe_road_extraction.py
imports: import os
  from .dataset import Dataset
  from paddleseg.utils.download import download_file_and_uncompress
  from paddleseg.utils import seg_env
  from paddleseg.cvlibs import manager
  from paddleseg.transforms import Compose
label_desc: Use image node_id 1 to create a new MiniDeepGlobeRoadExtraction object from inherited base classes: Dataset with example: obj = MiniDeepGlobeRoadExtraction(dataset_root, transforms, mode, edge)