code: def run(cell, graph, iou, h, c, topo=None):
      g = graph
      g.register_message_func(cell.message_func)
      g.register_reduce_func(cell.reduce_func)
      g.register_apply_node_func(cell.apply_node_func)
      # feed embedding
      g.ndata["iou"] = iou
      g.ndata["h"] = h
      g.ndata["c"] = c
      # propagate
      dgl.prop_nodes_topo(g)
      if topo is None:
          dgl.prop_nodes_topo(g)
      else:
          g.prop_nodes(topo)
  
      return g.ndata.pop("h")
  
file_path: pytorch-struct/examples/networks/TreeLSTM.py
imports: import torch
  import torch
  import torch.nn
  import dgl
  from torch_struct import CKY
label_desc: Use image node_id 1 for calling a global function with example usage: run(cell, graph, iou, h, c, topo) and returns: g