class_docstr: `Large-scale CelebFaces Attributes (CelebA) Dataset <http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html>`_ Dataset.
  
  Args:
      root (string): Root directory where images are downloaded to.
      split (string): One of {'train', 'valid', 'test', 'all'}.
          Accordingly dataset is selected.
      target_type (string or list, optional): Type of target to use, ``attr``, ``identity``, ``bbox``,
          or ``landmarks``. Can also be a list to output a tuple with all specified target types.
          The targets represent:
  
              - ``attr`` (Tensor shape=(40,) dtype=int): binary (0, 1) labels for attributes
              - ``identity`` (int): label for each person (data points with the same identity are the same person)
              - ``bbox`` (Tensor shape=(4,) dtype=int): bounding box (x, y, width, height)
              - ``landmarks`` (Tensor shape=(10,) dtype=int): landmark points (lefteye_x, lefteye_y, righteye_x,
                righteye_y, nose_x, nose_y, leftmouth_x, leftmouth_y, rightmouth_x, rightmouth_y)
  
          Defaults to ``attr``. If empty, ``None`` will be returned as target.
  
      transform (callable, optional): A function/transform that takes in a PIL image
          and returns a transformed version. E.g, ``transforms.PILToTensor``
      target_transform (callable, optional): A function/transform that takes in the
          target and transforms it.
      download (bool, optional): If true, downloads the dataset from the internet and
          puts it in root directory. If dataset is already downloaded, it is not
          downloaded again.
class_docstr_tok: ["`","Large-scale","CelebFaces","Attributes","(","CelebA",")","Dataset","<","http",":","\/\/mmlab.ie.cuhk.edu.hk\/projects\/CelebA.html",">","`","_","Dataset",".","Args",":","root","(","string",")",":","Root","directory","where","images","are","downloaded","to",".","split","(","string",")",":","One","of","{","'train","'",",","'valid","'",",","'test","'",",","'all","'","}",".","Accordingly","dataset","is","selected",".","target_type","(","string","or","list",",","optional",")",":","Type","of","target","to","use",",","``","attr","``",",","``","identity","``",",","``","bbox","``",",","or","``","landmarks","``",".","Can","also","be","a","list","to","output","a","tuple","with","all","specified","target","types",".","The","targets","represent",":","-","``","attr","``","(","Tensor","shape=","(","40",",",")","dtype=int",")",":","binary","(","0",",","1",")","labels","for","attributes","-","``","identity","``","(","int",")",":","label","for","each","person","(","data","points","with","the","same","identity","are","the","same","person",")","-","``","bbox","``","(","Tensor","shape=","(","4",",",")","dtype=int",")",":","bounding","box","(","x",",","y",",","width",",","height",")","-","``","landmarks","``","(","Tensor","shape=","(","10",",",")","dtype=int",")",":","landmark","points","(","lefteye_x",",","lefteye_y",",","righteye_x",",","righteye_y",",","nose_x",",","nose_y",",","leftmouth_x",",","leftmouth_y",",","rightmouth_x",",","rightmouth_y",")","Defaults","to","``","attr","``",".","If","empty",",","``","None","``","will","be","returned","as","target",".","transform","(","callable",",","optional",")",":","A","function\/transform","that","takes","in","a","PIL","image","and","returns","a","transformed","version",".","E.g",",","``","transforms.PILToTensor","``","target_transform","(","callable",",","optional",")",":","A","function\/transform","that","takes","in","the","target","and","transforms","it",".","download","(","bool",",","optional",")",":","If","true",",","downloads","the","dataset","from","the","internet","and","puts","it","in","root","directory",".","If","dataset","is","already","downloaded",",","it","is","not","downloaded","again","."]
code: def download(self) -> None:
      if self._check_integrity():
          print("Files already downloaded and verified")
          return
  
      for file_id, md5, filename in self.file_list:
          download_file_from_google_drive(
              file_id,
              os.path.join(self.root, self.base_folder),
              filename,
              md5,
          )
  
      extract_archive(
          os.path.join(
              self.root, self.base_folder, "img_align_celeba.zip"
          )
      )
  
file_path: vision/torchvision/datasets/celeba.py
imports: import csv
  import os
  from collections import namedtuple
  from typing import Any, Callable, List, Optional, Tuple, Union
  import PIL
  import torch
  from .utils import check_integrity, download_file_from_google_drive, extract_archive, verify_str_arg
  from .vision import VisionDataset
label_desc: Use image node_id 4 for calling the CelebA obj's underlying member method code with example usage: obj.download() without return types