class_docstr: Base class for all the voxel grid variants whith added trilinear interpolation between
  voxels (for example if voxel (0.333, 1, 3) is queried that would return the result
  2/3*voxel[0, 1, 3] + 1/3*voxel[1, 1, 3])
  
  Internally voxel grids are indexed by (features, x, y, z). If queried the point is not
  inside the voxel grid the vector that will be returned is determined by padding.
  
  Members:
      align_corners: parameter used in torch.functional.grid_sample. For details go to
          https://pytorch.org/docs/stable/generated/torch.nn.functional.grid_sample.html by
          default is True
      padding: padding mode for outside grid values 'zeros' | 'border' | 'reflection'.
          Default is 'zeros'
      mode: interpolation mode to calculate output values :
          'bilinear' | 'nearest' | 'bicubic' | 'trilinear'.
          Default: 'bilinear' Note: mode='bicubic' supports only FullResolutionVoxelGrid.
          When mode='bilinear' and the input is 5-D, the interpolation mode used internally
          will actually be trilinear.
      n_features: number of dimensions of base feature vector. Determines how many features
          the grid returns.
      resolution_changes: a dictionary, where keys are change epochs and values are
          3-tuples containing x, y, z grid sizes corresponding to each axis to each epoch
class_docstr_tok: ["Base","class","for","all","the","voxel","grid","variants","whith","added","trilinear","interpolation","between","voxels","(","for","example","if","voxel","(","0.333",",","1",",","3",")","is","queried","that","would","return","the","result","2\/3","*","voxel","[","0",",","1",",","3","]","+","1\/3","*","voxel","[","1",",","1",",","3","]",")","Internally","voxel","grids","are","indexed","by","(","features",",","x",",","y",",","z",")",".","If","queried","the","point","is","not","inside","the","voxel","grid","the","vector","that","will","be","returned","is","determined","by","padding",".","Members",":","align_corners",":","parameter","used","in","torch.functional.grid_sample",".","For","details","go","to","https",":","\/\/pytorch.org\/docs\/stable\/generated\/torch.nn.functional.grid_sample.html","by","default","is","True","padding",":","padding","mode","for","outside","grid","values","'zeros","'","|","'border","'","|","'reflection","'",".","Default","is","'zeros'","mode",":","interpolation","mode","to","calculate","output","values",":","'bilinear","'","|","'nearest","'","|","'bicubic","'","|","'trilinear","'",".","Default",":","'bilinear","'","Note",":","mode='bicubic","'","supports","only","FullResolutionVoxelGrid",".","When","mode='bilinear","'","and","the","input","is","5-D",",","the","interpolation","mode","used","internally","will","actually","be","trilinear",".","n_features",":","number","of","dimensions","of","base","feature","vector",".","Determines","how","many","features","the","grid","returns",".","resolution_changes",":","a","dictionary",",","where","keys","are","change","epochs","and","values","are","3-tuples","containing","x",",","y",",","z","grid","sizes","corresponding","to","each","axis","to","each","epoch"]
docstr: Given all the arguments of the grid's __init__, returns output's last dimension length.
  
  In particular, if self.evaluate_world or self.evaluate_local
  are called with `points` of shape (n_grids, n_points, 3),
  their output will be of shape
  (n_grids, n_points, grid.get_output_dim()).
  
  Args:
      args: DictConfig which would be used to initialize the object
  Returns:
      output's last dimension length
docstr_tok: ["Given","all","the","arguments","of","the","grid","'s","__init__",",","returns","output","'s","last","dimension","length",".","In","particular",",","if","self.evaluate_world","or","self.evaluate_local","are","called","with","`","points","`","of","shape","(","n_grids",",","n_points",",","3",")",",","their","output","will","be","of","shape","(","n_grids",",","n_points",",","grid.get_output_dim","(",")",")",".","Args",":","args",":","DictConfig","which","would","be","used","to","initialize","the","object","Returns",":","output","'s","last","dimension","length"]
code: def get_output_dim(args: DictConfig) -> int:
      """
      Given all the arguments of the grid's __init__, returns output's last dimension length.
  
      In particular, if self.evaluate_world or self.evaluate_local
      are called with `points` of shape (n_grids, n_points, 3),
      their output will be of shape
      (n_grids, n_points, grid.get_output_dim()).
  
      Args:
          args: DictConfig which would be used to initialize the object
      Returns:
          output's last dimension length
      """
      return args["n_features"]
  
imports: import logging
  import warnings
  from collections.abc import Mapping
  from dataclasses import dataclass, field
  from distutils.version import LooseVersion
  from typing import Any, Callable, ClassVar, Dict, Iterator, List, Optional, Tuple, Type
  import torch
  from omegaconf import DictConfig
  from pytorch3d.implicitron.tools.config import Configurable, registry, ReplaceableBase, run_auto_creation
  from pytorch3d.structures.volumes import VolumeLocator
  from .utils import interpolate_line, interpolate_plane, interpolate_volume
label_desc: Use image node_id 6 for calling the VoxelGridBase obj's underlying member method code with example usage: obj.get_output_dim(args) and returns: args