class_docstr: Implementation of multiple disjoint graph structure in pgl.
  
  This is a simple implementation of graph structure in pgl.
  
  Args:
      graph_list :  A list of Graph Instances
  
  Examples:
  
      .. code-block:: python
      
          batch_graph = MultiGraph([graph1, graph2, graph3])
class_docstr_tok: ["Implementation","of","multiple","disjoint","graph","structure","in","pgl",".","This","is","a","simple","implementation","of","graph","structure","in","pgl",".","Args",":","graph_list",":","A","list","of","Graph","Instances","Examples",":","..","code-block",":",":","python","batch_graph","=","MultiGraph","(","[","graph1",",","graph2",",","graph3","]",")"]
docstr: join node features for multiple graph
code: def _join_node_feature(self, graph_list):
      """join node features for multiple graph"""
      node_feat = defaultdict(lambda: [])
      for graph in graph_list:
          for key in graph.node_feat:
              node_feat[key].append(graph.node_feat[key])
      ret_node_feat = {}
      for key in node_feat:
          ret_node_feat[key] = np.vstack(node_feat[key])
      return ret_node_feat
  
imports: import os
  import numpy
  import pickle
  import time
  import pgl.graph_kernel
  from collections import defaultdict
label_desc: Use image node_id 3 for calling the MultiGraph obj's underlying member method code with example usage: obj._join_node_feature(graph_list) and returns: ret_node_feat