class_docstr: 'ShapeNetBase' implements a base Dataset for ShapeNet and R2N2 with helper methods.
  It is not intended to be used on its own as a Dataset for a Dataloader. Both __init__
  and __getitem__ need to be implemented.
class_docstr_tok: ["'ShapeNetBase","'","implements","a","base","Dataset","for","ShapeNet","and","R2N2","with","helper","methods",".","It","is","not","intended","to","be","used","on","its","own","as","a","Dataset","for","a","Dataloader",".","Both","__init__","and","__getitem__","need","to","be","implemented","."]
docstr: Read a model by the given index. Need to be implemented for every child class
  of ShapeNetBase.
  
  Args:
      idx: The idx of the model to be retrieved in the dataset.
  
  Returns:
      dictionary containing information about the model.
docstr_tok: ["Read","a","model","by","the","given","index",".","Need","to","be","implemented","for","every","child","class","of","ShapeNetBase",".","Args",":","idx",":","The","idx","of","the","model","to","be","retrieved","in","the","dataset",".","Returns",":","dictionary","containing","information","about","the","model","."]
code: def __getitem__(self, idx) -> Dict:
      """
      Read a model by the given index. Need to be implemented for every child class
      of ShapeNetBase.
  
      Args:
          idx: The idx of the model to be retrieved in the dataset.
  
      Returns:
          dictionary containing information about the model.
      """
      raise NotImplementedError(
          "__getitem__ should be implemented in the child class of ShapeNetBase"
      )
  
file_path: pytorch3d/pytorch3d/datasets/shapenet_base.py
imports: import warnings
  from typing import Dict, List, Optional, Tuple
  import torch
  from pytorch3d.common.datatypes import Device
  from pytorch3d.io import load_obj
  from pytorch3d.renderer import FoVPerspectiveCameras, HardPhongShader, MeshRasterizer, MeshRenderer, PointLights, RasterizationSettings, TexturesVertex
  from .utils import collate_batched_meshes
label_desc: Use image node_id 3 for calling the ShapeNetBase obj's underlying member method code with example usage: obj.__getitem__(idx) without return types