class_docstr: Grid to vector model for part autoencoding.
class_docstr_tok: ["Grid","to","vector","model","for","part","autoencoding","."]
docstr: Forward method.
  
  Args:
    x: `[batch, in_grid_res, in_grid_res, in_grid_res, in_features]` tensor,
      input voxel grid.
    training: bool, flag indicating whether model is in training mode.
  
  Returns:
    `[batch, codelen]` tensor, output voxel grid.
docstr_tok: ["Forward","method",".","Args",":","x",":","`","[","batch",",","in_grid_res",",","in_grid_res",",","in_grid_res",",","in_features","]","`","tensor",",","input","voxel","grid",".","training",":","bool",",","flag","indicating","whether","model","is","in","training","mode",".","Returns",":","`","[","batch",",","codelen","]","`","tensor",",","output","voxel","grid","."]
code: def call(self, x, training=False):
      """Forward method.
  
      Args:
        x: `[batch, in_grid_res, in_grid_res, in_grid_res, in_features]` tensor,
          input voxel grid.
        training: bool, flag indicating whether model is in training mode.
  
      Returns:
        `[batch, codelen]` tensor, output voxel grid.
      """
      x = self.conv_in(x)
      x = tf.nn.relu(x)
      for conv, pool in zip(self.down_conv, self.down_pool):
          x = conv(x, training=training)
          x = pool(x, training=training)  # [batch, res, res, res, c]
      x = tf.squeeze(x, axis=(1, 2, 3))  # [batch, c]
      x = self.fc_out(x)  # [batch, code_len]
      return x
  
file_path: graphics/tensorflow_graphics/projects/local_implicit_grid/core/model_g2v.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import tensorflow.compat.v1
label_desc: Use image node_id 2 for calling the GridEncoder obj's underlying member method code with example usage: obj.call(x, training) and returns: x