class_docstr: Implements the learnable LSTM raymarching function from SRN [1].
  This requires there to be one implicit function, and it is expected to be
  like SRNImplicitFunction or SRNHyperNetImplicitFunction.
  
  Settings:
      num_raymarch_steps: The number of LSTM raymarching steps.
      init_depth: Initializes the bias of the last raymarching LSTM layer so that
          the farthest point from the camera reaches a far z-plane that
          lies `init_depth` units from the camera plane.
      init_depth_noise_std: The standard deviation of the random normal noise
          added to the initial depth of each marched ray.
      hidden_size: The dimensionality of the LSTM's hidden state.
      n_feature_channels: The number of feature channels returned by the
          implicit_function evaluated at each raymarching step.
      bg_color: If supplied, used as the background color. Otherwise the pixel
          generator is used everywhere. This has to have length either 1
          (for a constant value for all output channels) or equal to the number
          of output channels (which is `out_features` on the pixel generator,
          typically 3.)
      verbose: If `True`, logs raymarching debug info.
  
  References:
      [1] Sitzmann, V. and Zollhöfer, M. and Wetzstein, G..
          "Scene representation networks: Continuous 3d-structure-aware
          neural scene representations." NeurIPS 2019.
code: def __post_init__(self):
      self._lstm = torch.nn.LSTMCell(
          input_size=self.n_feature_channels,
          hidden_size=self.hidden_size,
      )
      self._lstm.apply(_init_recurrent_weights)
      _lstm_forget_gate_init(self._lstm)
      self._out_layer = torch.nn.Linear(self.hidden_size, 1)
  
      one_step = self.init_depth / self.num_raymarch_steps
      self._out_layer.bias.data.fill_(one_step)
      self._out_layer.weight.data.normal_(mean=0.0, std=1e-3)
  
file_path: pytorch3d/pytorch3d/implicitron/models/renderer/lstm_renderer.py
imports: import copy
  import logging
  from typing import List, Optional, Tuple
  import torch
  from pytorch3d.implicitron.models.renderer.base import ImplicitronRayBundle
  from pytorch3d.implicitron.tools.config import registry
  from .base import BaseRenderer, EvaluationMode, ImplicitFunctionWrapper, RendererOutput
label_desc: Use image node_id 1 for calling the LSTMRenderer obj's underlying member method code with example usage: obj.__post_init__() without return types