code: def __getitem__(self, idx):
      if isinstance(idx, int):
          return self.graphs[idx], self.labels[idx]
      elif isinstance(idx, torch.BoolTensor):
          idx = [i for i in range(len(idx)) if idx[i]]
      elif (
          isinstance(idx, torch.Tensor)
          and idx.unique()[0].sum().item() == 1
      ):
          idx = [i for i in range(len(idx)) if idx[i]]
      return DatasetAbstraction(
          [self.graphs[i] for i in idx], [self.labels[i] for i in idx]
      )
  
file_path: AutoGL/test/performance/graph_classification/dgl/trainer.py
imports: import os
  import torch
  import random
  import numpy
  from dgl.data import GINDataset
  from dgl.dataloading import GraphDataLoader
  from autogl.datasets import utils
  from autogl.module.train import GraphClassificationFullTrainer
  from autogl.solver.utils import set_seed
  from helper import get_encoder_decoder_hp
  import logging
label_desc: Use image node_id 3 for calling the DatasetAbstraction obj's underlying member method code with example usage: obj.__getitem__(idx) and returns: DatasetAbstraction, self,  self