code: def init_graph(in_nodes, out_nodes, f_size):
      u = np.repeat(np.arange(in_nodes), out_nodes)
      v = np.tile(np.arange(in_nodes, in_nodes + out_nodes), in_nodes)
      g = dgl.DGLGraph((u, v))
      # init states
      g.ndata["v"] = th.zeros(in_nodes + out_nodes, f_size)
      g.edata["b"] = th.zeros(in_nodes * out_nodes, 1)
      return g
  
file_path: dgl/tutorials/models/4_old_wines/2_capsule.py
imports: import os
  import dgl
  import matplotlib.pyplot
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  import dgl.function
  import matplotlib.animation
  import seaborn
  import networkx
  from networkx.algorithms import bipartite
label_desc: Use image node_id 1 for calling a global function with example usage: init_graph(in_nodes, out_nodes, f_size) and returns: g