code: def update_step(
      self,
      epoch: int,
      global_step: int,
      update_interval: int = 16,
      decay: float = 0.95,
      occ_thre: float = 0.01,
      warmup_steps: int = 256,
      **kwargs,
  ):
      def occ_eval_fn(x):
          density = self.nerf.forward_density(x)
          return density * self.render_step_size
  
      self.estimator.update_every_n_steps(
          step=global_step,
          occ_eval_fn=occ_eval_fn,
          occ_thre=occ_thre,
          ema_decay=decay,
          warmup_steps=warmup_steps,
          n=update_interval,
      )
  
file_path: NeMo/nemo/collections/multimodal/modules/nerf/renderers/nerfacc_volume_renderer.py
imports: import collections
  from typing import Optional
  import torch
  from nerfacc.estimators.occ_grid import OccGridEstimator
  from nerfacc.grid import ray_aabb_intersect, traverse_grids
  from nerfacc.volrend import accumulate_along_rays_, render_weight_from_density, rendering
  from nemo.collections.multimodal.modules.renderer.base_renderer import BaseRenderer
label_desc: Use image node_id 2 for calling the NerfaccVolumeBaseRenderer obj's underlying member method code with example usage: obj.update_step(epoch, global_step, update_interval, decay, occ_thre, warmup_steps) and returns: unknown