code: def from_graphdef(graphdef):
      graph = Graph()
  
      for raw_node in graphdef.node:
          graph.add_node(Node(raw_node.name, raw_node.op, graph))
  
      for raw_node in graphdef.node:
          for raw_inp in raw_node.input:
              if raw_inp.startswith("^"):  # skip control inputs
                  continue
              raw_inp_name = raw_inp.split(":")[0]
              graph.add_edge(raw_inp_name, raw_node.name)
  
      return graph
  
imports: import numpy
  import tensorflow
  import lucid.modelzoo.vision_models
  import lucid.optvis.objectives
  import lucid.optvis.param
  import lucid.optvis.render
  from lucid.misc.io import show, load
  from lucid.misc.io.showing import _image_url, _display_html
  from collections import defaultdict
label_desc: Use image node_id 6 for calling the Graph obj's underlying member method code with example usage: obj.from_graphdef(graphdef) and returns: graph