code: def __post_init__(self):
      self._harmonic_embedding = HarmonicEmbedding(
          self.n_harmonic_functions, append_input=True
      )
      self._net = pytorch_prototyping.FCBlock(
          hidden_ch=self.n_hidden_units,
          num_hidden_layers=self.n_layers,
          in_features=self.in_features,
          out_features=self.n_hidden_units,
      )
      self._density_layer = torch.nn.Linear(self.n_hidden_units, 1)
      self._density_layer.apply(_kaiming_normal_init)
      embedding_dim_dir = self._harmonic_embedding.get_output_dim(
          input_dims=3
      )
      self._color_layer = torch.nn.Sequential(
          LinearWithRepeat(
              self.n_hidden_units + embedding_dim_dir,
              self.n_hidden_units_color,
          ),
          torch.nn.LayerNorm([self.n_hidden_units_color]),
          torch.nn.ReLU(inplace=True),
          torch.nn.Linear(self.n_hidden_units_color, self.out_features),
      )
      self._color_layer.apply(_kaiming_normal_init)
  
imports: from typing import Any, cast, Optional, Tuple
  import torch
  from omegaconf import DictConfig
  from pytorch3d.common.linear_with_repeat import LinearWithRepeat
  from pytorch3d.implicitron.models.renderer.base import ImplicitronRayBundle
  from pytorch3d.implicitron.third_party import hyperlayers, pytorch_prototyping
  from pytorch3d.implicitron.tools.config import Configurable, registry, run_auto_creation
  from pytorch3d.renderer import ray_bundle_to_ray_points
  from pytorch3d.renderer.cameras import CamerasBase
  from pytorch3d.renderer.implicit import HarmonicEmbedding
  from .base import ImplicitFunctionBase
  from .utils import create_embeddings_for_implicit_function
label_desc: Use image node_id 1 for calling the SRNPixelGenerator obj's underlying member method code with example usage: obj.__post_init__() without return types