code: def train(example):
      """Performs one step of minimization of the loss and populates the summary."""
      points = example["points"]
      label = example["label"]
      step = optimizer.iterations.numpy()
  
      # --- optimize
      loss = wrapped_tf_function(points, label)
      if step % FLAGS.tb_every == 0:
          tf.summary.scalar(name="loss", data=loss, step=step)
  
      # --- report rate in summaries
      if FLAGS.lr_decay and step % FLAGS.tb_every == 0:
          tf.summary.scalar(
              name="learning_rate", data=lr_scheduler(step), step=step
          )
  
file_path: graphics/tensorflow_graphics/projects/pointnet/train.py
imports: import tensorflow
  from tensorflow_graphics.datasets import modelnet40
  from tensorflow_graphics.nn.layer import pointnet
  import tqdm
  from .None import augment
  from .None import helpers
label_desc: Use image node_id 2 for calling a global function with example usage: train(example) without return types