code: def test_pickling_batched_heterograph():
      # copied from test_heterograph.create_test_heterograph()
      g = dgl.heterograph(
          {
              ("user", "follows", "user"): ([0, 1], [1, 2]),
              ("user", "plays", "game"): ([0, 1, 2, 1], [0, 0, 1, 1]),
              ("user", "wishes", "game"): ([0, 2], [1, 0]),
              ("developer", "develops", "game"): ([0, 1], [0, 1]),
          }
      )
      g2 = dgl.heterograph(
          {
              ("user", "follows", "user"): ([0, 1], [1, 2]),
              ("user", "plays", "game"): ([0, 1, 2, 1], [0, 0, 1, 1]),
              ("user", "wishes", "game"): ([0, 2], [1, 0]),
              ("developer", "develops", "game"): ([0, 1], [0, 1]),
          }
      )
  
      g.nodes["user"].data["u_h"] = F.randn((3, 4))
      g.nodes["game"].data["g_h"] = F.randn((2, 5))
      g.edges["plays"].data["p_h"] = F.randn((4, 6))
      g2.nodes["user"].data["u_h"] = F.randn((3, 4))
      g2.nodes["game"].data["g_h"] = F.randn((2, 5))
      g2.edges["plays"].data["p_h"] = F.randn((4, 6))
  
      bg = dgl.batch([g, g2])
      new_bg = _reconstruct_pickle(bg)
      check_graph_equal(bg, new_bg)
  
imports: import io
  import pickle
  import unittest
  import backend
  import dgl
  import dgl.function
  import networkx
  import pytest
  import scipy.sparse
  from dgl.graph_index import create_graph_index
  from dgl.utils import toindex
  from utils import assert_is_identical, assert_is_identical_hetero, check_graph_equal, get_cases, parametrize_idtype
label_desc: Use image node_id 10 for calling a global function with example usage: test_pickling_batched_heterograph() without return types