code: def train_step(inputs, target):
      with tf.GradientTape() as tape:
          predictions = model(inputs, training=True)
          loss = loss_fn(target, predictions) + sum(model.losses)
      gradients = tape.gradient(loss, model.trainable_variables)
      optimizer.apply_gradients(
          zip(gradients, model.trainable_variables)
      )
      return loss
  
file_path: spektral/examples/graph_prediction/ogbg-mol-hiv_ecc.py
imports: import numpy
  import tensorflow
  from ogb.graphproppred import Evaluator, GraphPropPredDataset
  from tensorflow.keras.layers import Dense, Input
  from tensorflow.keras.losses import BinaryCrossentropy
  from tensorflow.keras.models import Model
  from tensorflow.keras.optimizers import Adam
  from spektral.data import DisjointLoader
  from spektral.datasets import OGB
  from spektral.layers import ECCConv, GlobalSumPool
label_desc: Use image node_id 1 for calling a global function with example usage: train_step(inputs, target) and returns: loss