class_docstr: The Pascal VOC 2011 dataset with Berkely annotations of keypoints from
  the `"Poselets: Body Part Detectors Trained Using 3D Human Pose
  Annotations" <https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/
  human/ poselets_iccv09.pdf>`_ paper, containing 0 to 23 keypoints per
  example over 20 categories.
  The dataset is pre-filtered to exclude difficult, occluded and truncated
  objects.
  The keypoints contain interpolated features from a pre-trained VGG16 model
  on ImageNet (:obj:`relu4_2` and :obj:`relu5_1`).
  
  Args:
      root (str): Root directory where the dataset should be saved.
      category (str): The category of the images (one of
          :obj:`"Aeroplane"`, :obj:`"Bicycle"`, :obj:`"Bird"`,
          :obj:`"Boat"`, :obj:`"Bottle"`, :obj:`"Bus"`, :obj:`"Car"`,
          :obj:`"Cat"`, :obj:`"Chair"`, :obj:`"Diningtable"`, :obj:`"Dog"`,
          :obj:`"Horse"`, :obj:`"Motorbike"`, :obj:`"Person"`,
          :obj:`"Pottedplant"`, :obj:`"Sheep"`, :obj:`"Sofa"`,
          :obj:`"Train"`, :obj:`"TVMonitor"`)
      train (bool, optional): If :obj:`True`, loads the training dataset,
          otherwise the test dataset. (default: :obj:`True`)
      transform (callable, optional): A function/transform that takes in an
          :obj:`torch_geometric.data.Data` object and returns a transformed
          version. The data object will be transformed before every access.
          (default: :obj:`None`)
      pre_transform (callable, optional): A function/transform that takes in
          an :obj:`torch_geometric.data.Data` object and returns a
          transformed version. The data object will be transformed before
          being saved to disk. (default: :obj:`None`)
      pre_filter (callable, optional): A function that takes in an
          :obj:`torch_geometric.data.Data` object and returns a boolean
          value, indicating whether the data object should be included in the
          final dataset. (default: :obj:`None`)
      force_reload (bool, optional): Whether to re-process the dataset.
          (default: :obj:`False`)
      device (str or torch.device, optional): The device to use for
          processing the raw data. If set to :obj:`None`, will utilize
          GPU-processing if available. (default: :obj:`None`)
class_docstr_tok: ["The","Pascal","VOC","2011","dataset","with","Berkely","annotations","of","keypoints","from","the","`","``","Poselets",":","Body","Part","Detectors","Trained","Using","3D","Human","Pose","Annotations","''","<","https",":","\/\/www2.eecs.berkeley.edu\/Research\/Projects\/CS\/vision\/","human\/","poselets_iccv09.pdf",">","`","_","paper",",","containing","0","to","23","keypoints","per","example","over","20","categories",".","The","dataset","is","pre-filtered","to","exclude","difficult",",","occluded","and","truncated","objects",".","The","keypoints","contain","interpolated","features","from","a","pre-trained","VGG16","model","on","ImageNet","(",":","obj",":","`","relu4_2","`","and",":","obj",":","`","relu5_1","`",")",".","Args",":","root","(","str",")",":","Root","directory","where","the","dataset","should","be","saved",".","category","(","str",")",":","The","category","of","the","images","(","one","of",":","obj",":","`","``","Aeroplane","''","`",",",":","obj",":","`","``","Bicycle","''","`",",",":","obj",":","`","``","Bird","''","`",",",":","obj",":","`","``","Boat","''","`",",",":","obj",":","`","``","Bottle","''","`",",",":","obj",":","`","``","Bus","''","`",",",":","obj",":","`","``","Car","''","`",",",":","obj",":","`","``","Cat","''","`",",",":","obj",":","`","``","Chair","''","`",",",":","obj",":","`","``","Diningtable","''","`",",",":","obj",":","`","``","Dog","''","`",",",":","obj",":","`","``","Horse","''","`",",",":","obj",":","`","``","Motorbike","''","`",",",":","obj",":","`","``","Person","''","`",",",":","obj",":","`","``","Pottedplant","''","`",",",":","obj",":","`","``","Sheep","''","`",",",":","obj",":","`","``","Sofa","''","`",",",":","obj",":","`","``","Train","''","`",",",":","obj",":","`","``","TVMonitor","''","`",")","train","(","bool",",","optional",")",":","If",":","obj",":","`","True","`",",","loads","the","training","dataset",",","otherwise","the","test","dataset",".","(","default",":",":","obj",":","`","True","`",")","transform","(","callable",",","optional",")",":","A","function\/transform","that","takes","in","an",":","obj",":","`","torch_geometric.data.Data","`","object","and","returns","a","transformed","version",".","The","data","object","will","be","transformed","before","every","access",".","(","default",":",":","obj",":","`","None","`",")","pre_transform","(","callable",",","optional",")",":","A","function\/transform","that","takes","in","an",":","obj",":","`","torch_geometric.data.Data","`","object","and","returns","a","transformed","version",".","The","data","object","will","be","transformed","before","being","saved","to","disk",".","(","default",":",":","obj",":","`","None","`",")","pre_filter","(","callable",",","optional",")",":","A","function","that","takes","in","an",":","obj",":","`","torch_geometric.data.Data","`","object","and","returns","a","boolean","value",",","indicating","whether","the","data","object","should","be","included","in","the","final","dataset",".","(","default",":",":","obj",":","`","None","`",")","force_reload","(","bool",",","optional",")",":","Whether","to","re-process","the","dataset",".","(","default",":",":","obj",":","`","False","`",")","device","(","str","or","torch.device",",","optional",")",":","The","device","to","use","for","processing","the","raw","data",".","If","set","to",":","obj",":","`","None","`",",","will","utilize","GPU-processing","if","available",".","(","default",":",":","obj",":","`","None","`",")"]
code: def __init__(
      self,
      root: str,
      category: str,
      train: bool = True,
      transform: Optional[Callable] = None,
      pre_transform: Optional[Callable] = None,
      pre_filter: Optional[Callable] = None,
      force_reload: bool = False,
      device: Optional[str] = None,
  ) -> None:
      if device is None:
          device = "cuda" if torch.cuda.is_available() else "cpu"
  
      self.category = category.lower()
      assert self.category in self.categories
      self.device = device
      super().__init__(
          root,
          transform,
          pre_transform,
          pre_filter,
          force_reload=force_reload,
      )
      path = (
          self.processed_paths[0] if train else self.processed_paths[1]
      )
      self.load(path)
  
imports: import os
  import os.path
  from itertools import chain
  from typing import Callable, Dict, List, Optional
  from xml.dom import minidom
  import numpy
  import torch
  import torch.nn.functional
  from torch import Tensor
  from torch.utils.data import DataLoader
  from torch_geometric.data import Data, InMemoryDataset, download_url, extract_tar
  from torch_geometric.io import fs
label_desc: Use image node_id 1 to create a new PascalVOCKeypoints object from inherited base classes: InMemoryDataset with example: obj = PascalVOCKeypoints(root, category, train, transform, pre_transform, pre_filter, force_reload, device)