class_docstr: Network for generating voxels from latent codes.
class_docstr_tok: ["Network","for","generating","voxels","from","latent","codes","."]
docstr: Voxel GLO network.
docstr_tok: ["Voxel","GLO","network","."]
code: def get_model(self):
      """Voxel GLO network."""
      fc_channels = self.fc_channels
      norm3d = self.norm3d
      activation = self.fc_activation
  
      with tf.name_scope("Network/"):
          latent_code = tf.keras.layers.Input(
              shape=(self.latent_code_dim,)
          )
  
          with tf.name_scope("FC_layers"):
              fc0 = tf.keras.layers.Dense(
                  fc_channels, activation=activation
              )(latent_code)
              fc1 = tf.keras.layers.Dense(
                  fc_channels, activation=activation
              )(fc0)
              fc2 = tf.keras.layers.Dense(
                  fc_channels, activation=activation
              )(fc1)
              fc2_as_volume = tf.keras.layers.Reshape(
                  (1, 1, 1, fc_channels)
              )(fc2)
  
          with tf.name_scope("GLO_VoxelDecoder"):
              decoder_1 = geometry_layers.conv_t_block_3d(
                  fc2_as_volume,
                  num_filters=32,
                  size=self.conv_size,
                  strides=2,
                  normalization=norm3d,
              )  # 2
              decoder_2 = geometry_layers.conv_t_block_3d(
                  decoder_1,
                  num_filters=32,
                  size=self.conv_size,
                  strides=2,
                  normalization=norm3d,
              )  # 4
              decoder_3 = geometry_layers.conv_t_block_3d(
                  decoder_2,
                  num_filters=32,
                  size=self.conv_size,
                  strides=2,
                  normalization=norm3d,
              )  # 8
              decoder_4 = geometry_layers.conv_t_block_3d(
                  decoder_3,
                  num_filters=16,
                  size=self.conv_size,
                  strides=2,
                  normalization=norm3d,
              )  # 16
              decoder_5 = geometry_layers.conv_t_block_3d(
                  decoder_4,
                  num_filters=8,
                  size=self.conv_size,
                  strides=2,
                  normalization=norm3d,
              )  # 32
              decoder_6 = geometry_layers.conv_t_block_3d(
                  decoder_5,
                  num_filters=4,
                  size=self.conv_size,
                  strides=2,
                  normalization=norm3d,
              )  # 64
              volume_out = tf.keras.layers.Conv3DTranspose(
                  1,
                  self.conv_size,
                  strides=2,
                  padding="same",
                  kernel_initializer=tf.keras.initializers.glorot_normal(),
                  use_bias=False,
              )(
                  decoder_6
              )  # 128
      return tf.keras.Model(inputs=[latent_code], outputs=[volume_out])
  
file_path: graphics/tensorflow_graphics/projects/radiance_fields/sharf/geometry_net/model.py
imports: from absl import logging
  import tensorflow
  import tensorflow_graphics.projects.radiance_fields.sharf.geometry_net.layers
  import tensorflow_graphics.projects.radiance_fields.sharf.voxel_functions
label_desc: Use image node_id 2 for calling the GeometryNetwork obj's underlying member method code with example usage: obj.get_model() and returns: tf