class_docstr: A wrapper torch.nn.Module for the VoxelGrid classes, which
  contains parameters that are needed to train the VoxelGrid classes.
  Can contain the parameters for the voxel grid as pytorch parameters
  or as registered buffers.
  
  Members:
      voxel_grid_class_type: The name of the class to use for voxel_grid,
          which must be available in the registry. Default FullResolutionVoxelGrid.
      voxel_grid: An instance of `VoxelGridBase`. This is the object which
          this class wraps.
      extents: 3-tuple of a form (width, height, depth), denotes the size of the grid
          in world units.
      translation: 3-tuple of float. The center of the volume in world units as (x, y, z).
      init_std: Parameters are initialized using the gaussian distribution
          with mean=init_mean and std=init_std. Default 0.1
      init_mean: Parameters are initialized using the gaussian distribution
          with mean=init_mean and std=init_std. Default 0.
      hold_voxel_grid_as_parameters: if True components of the underlying voxel grids
          will be saved as parameters and therefore be trainable. Default True.
      param_groups: dictionary where keys are names of individual parameters
          or module members and values are the parameter group where the
          parameter/member will be sorted to. "self" key is used to denote the
          parameter group at the module level. Possible keys, including the "self" key
          do not have to be defined. By default all parameters are put into "default"
          parameter group and have the learning rate defined in the optimizer,
          it can be overridden at the:
              - module level with “self” key, all the parameters and child
                  module's parameters will be put to that parameter group
              - member level, which is the same as if the `param_groups` in that
                  member has key=“self” and value equal to that parameter group.
                  This is useful if members do not have `param_groups`, for
                  example torch.nn.Linear.
              - parameter level, parameter with the same name as the key
                  will be put to that parameter group.
class_docstr_tok: ["A","wrapper","torch.nn.Module","for","the","VoxelGrid","classes",",","which","contains","parameters","that","are","needed","to","train","the","VoxelGrid","classes",".","Can","contain","the","parameters","for","the","voxel","grid","as","pytorch","parameters","or","as","registered","buffers",".","Members",":","voxel_grid_class_type",":","The","name","of","the","class","to","use","for","voxel_grid",",","which","must","be","available","in","the","registry",".","Default","FullResolutionVoxelGrid",".","voxel_grid",":","An","instance","of","`","VoxelGridBase","`",".","This","is","the","object","which","this","class","wraps",".","extents",":","3-tuple","of","a","form","(","width",",","height",",","depth",")",",","denotes","the","size","of","the","grid","in","world","units",".","translation",":","3-tuple","of","float",".","The","center","of","the","volume","in","world","units","as","(","x",",","y",",","z",")",".","init_std",":","Parameters","are","initialized","using","the","gaussian","distribution","with","mean=init_mean","and","std=init_std",".","Default","0.1","init_mean",":","Parameters","are","initialized","using","the","gaussian","distribution","with","mean=init_mean","and","std=init_std",".","Default","0.","hold_voxel_grid_as_parameters",":","if","True","components","of","the","underlying","voxel","grids","will","be","saved","as","parameters","and","therefore","be","trainable",".","Default","True",".","param_groups",":","dictionary","where","keys","are","names","of","individual","parameters","or","module","members","and","values","are","the","parameter","group","where","the","parameter\/member","will","be","sorted","to",".","``","self","''","key","is","used","to","denote","the","parameter","group","at","the","module","level",".","Possible","keys",",","including","the","``","self","''","key","do","not","have","to","be","defined",".","By","default","all","parameters","are","put","into","``","default","''","parameter","group","and","have","the","learning","rate","defined","in","the","optimizer",",","it","can","be","overridden","at","the",":","-","module","level","with","\u201c","self","\u201d","key",",","all","the","parameters","and","child","module","'s","parameters","will","be","put","to","that","parameter","group","-","member","level",",","which","is","the","same","as","if","the","`","param_groups","`","in","that","member","has","key=","\u201c","self","\u201d","and","value","equal","to","that","parameter","group",".","This","is","useful","if","members","do","not","have","`","param_groups","`",",","for","example","torch.nn.Linear",".","-","parameter","level",",","parameter","with","the","same","name","as","the","key","will","be","put","to","that","parameter","group","."]
docstr: Utility to help predict the shape of the output of `forward`.
  
  Args:
      args: DictConfig which would be used to initialize the object
  Returns:
      int: the length of the last dimension of the output tensor
docstr_tok: ["Utility","to","help","predict","the","shape","of","the","output","of","`","forward","`",".","Args",":","args",":","DictConfig","which","would","be","used","to","initialize","the","object","Returns",":","int",":","the","length","of","the","last","dimension","of","the","output","tensor"]
code: def get_output_dim(args: DictConfig) -> int:
      """
      Utility to help predict the shape of the output of `forward`.
  
      Args:
          args: DictConfig which would be used to initialize the object
      Returns:
          int: the length of the last dimension of the output tensor
      """
      grid = registry.get(VoxelGridBase, args["voxel_grid_class_type"])
      return grid.get_output_dim(
          args["voxel_grid_" + args["voxel_grid_class_type"] + "_args"]
      )
  
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 4 for calling the VoxelGridModule obj's underlying member method code with example usage: obj.get_output_dim(args) and returns: grid