code: def generate_convs(hete, conv, hidden_size, task="node"):
      convs1 = {}
      convs2 = {}
      for message_type in hete.message_types:
          n_type = message_type[0]
          s_type = message_type[2]
          n_feat_dim = hete.num_node_features(n_type)
          s_feat_dim = hete.num_node_features(s_type)
          if task == "node":
              label_dim = hete.num_node_labels(s_type)
          elif task == "link_pred":
              label_dim = 2
          convs1[message_type] = conv(
              n_feat_dim, hidden_size, s_feat_dim
          )
          convs2[message_type] = conv(
              hidden_size, label_dim, hidden_size
          )
      return convs1, convs2
  
imports: import networkx
  from copy import deepcopy
  from deepsnap.graph import Graph
label_desc: Use image node_id 1 for calling a global function with example usage: generate_convs(hete, conv, hidden_size, task) and returns: convs1,  convs2