code: def train(epoch):
      model.train()
  
      if epoch == 6:
          for param_group in optimizer.param_groups:
              param_group["lr"] = 0.001
  
      if epoch == 16:
          for param_group in optimizer.param_groups:
              param_group["lr"] = 0.0001
  
      for data in train_loader:
          data = data.to(device)
          optimizer.zero_grad()
          F.nll_loss(model(data), data.y).backward()
          optimizer.step()
  
file_path: pytorch_geometric/examples/mnist_voxel_grid.py
imports: import os.path
  import torch
  import torch.nn.functional
  import torch_geometric.transforms
  from torch_geometric.datasets import MNISTSuperpixels
  from torch_geometric.loader import DataLoader
  from torch_geometric.nn import SplineConv, max_pool, max_pool_x, voxel_grid
  from torch_geometric.typing import WITH_TORCH_SPLINE_CONV
label_desc: Use image node_id 1 for calling a global function with example usage: train(epoch) without return types