class_docstr: Base class for ray samplers.
docstr: Args:
      cameras: A batch of `batch_size` cameras from which the rays are emitted.
      evaluation_mode: one of `EvaluationMode.TRAINING` or
          `EvaluationMode.EVALUATION` which determines the sampling mode
          that is used.
      mask: Active for the `RenderSamplingMode.MASK_SAMPLE` sampling mode.
          Defines a non-negative mask of shape
          `(batch_size, image_height, image_width)` where each per-pixel
          value is proportional to the probability of sampling the
          corresponding pixel's ray.
  
  Returns:
      ray_bundle: A `ImplicitronRayBundle` object containing the parametrizations of the
          sampled rendering rays.
docstr_tok: ["Args",":","cameras",":","A","batch","of","`","batch_size","`","cameras","from","which","the","rays","are","emitted",".","evaluation_mode",":","one","of","`","EvaluationMode.TRAINING","`","or","`","EvaluationMode.EVALUATION","`","which","determines","the","sampling","mode","that","is","used",".","mask",":","Active","for","the","`","RenderSamplingMode.MASK_SAMPLE","`","sampling","mode",".","Defines","a","non-negative","mask","of","shape","`","(","batch_size",",","image_height",",","image_width",")","`","where","each","per-pixel","value","is","proportional","to","the","probability","of","sampling","the","corresponding","pixel","'s","ray",".","Returns",":","ray_bundle",":","A","`","ImplicitronRayBundle","`","object","containing","the","parametrizations","of","the","sampled","rendering","rays","."]
code: def forward(
      self,
      cameras: CamerasBase,
      evaluation_mode: EvaluationMode,
      mask: Optional[torch.Tensor] = None,
  ) -> ImplicitronRayBundle:
      """
      Args:
          cameras: A batch of `batch_size` cameras from which the rays are emitted.
          evaluation_mode: one of `EvaluationMode.TRAINING` or
              `EvaluationMode.EVALUATION` which determines the sampling mode
              that is used.
          mask: Active for the `RenderSamplingMode.MASK_SAMPLE` sampling mode.
              Defines a non-negative mask of shape
              `(batch_size, image_height, image_width)` where each per-pixel
              value is proportional to the probability of sampling the
              corresponding pixel's ray.
  
      Returns:
          ray_bundle: A `ImplicitronRayBundle` object containing the parametrizations of the
              sampled rendering rays.
      """
      raise NotImplementedError()
  
imports: from typing import Optional, Tuple
  import torch
  from pytorch3d.implicitron.tools import camera_utils
  from pytorch3d.implicitron.tools.config import registry, ReplaceableBase
  from pytorch3d.renderer import NDCMultinomialRaysampler
  from pytorch3d.renderer.cameras import CamerasBase
  from pytorch3d.renderer.implicit.utils import HeterogeneousRayBundle
  from .base import EvaluationMode, ImplicitronRayBundle, RenderSamplingMode
label_desc: Use image node_id 1 for calling the RaySamplerBase obj's underlying member method code with example usage: obj.forward(cameras, evaluation_mode, mask) without return types