code: def optimize(node, **kwargs):
      kwargs = environ_config(kwargs)
  
      if session.is_strict_fmt:
          node = Id(node, op_name="Builtin")
          node.config = 0
  
      (
          compute_groups,
          compute_nodes,
          input_nodes,
          config,
      ) = node.serialize(**kwargs)
  
      print("<< TUNE Graph >>\n")
      print(
          "\n".join(
              [
                  f'| {x.name} <- new_{x.op_type}() | {x.dtype}{x.shape} | {getattr(x, "config", None)} |'
                  for x in input_nodes
              ]
          )
      )
      print("---------------------------------------------------")
      print(
          "\n".join(
              [
                  f'| {x.name} <- {", ".join([x.name for x in x.inputs])} | {x.dtype}{x.shape} | "{x.data}" | {getattr(x, "config", None)} |'
                  for x in compute_nodes
              ]
          )
      )
      print("\n>> config = %s\n" % (json.dumps(config),))
      sys.stdout.flush()
      return kwargs, solver.solve_partition(
          session,
          compute_groups,
          input_nodes=input_nodes,
          split_pref=config,
          kwargs=kwargs,
      )
  
imports: import os, sys, json, re
  import tempfile
  import copy
  import inspect
  import logging
  import importlib
  from .None import solver
  from .None import patterns
label_desc: Use image node_id 5 for calling a global function with example usage: optimize(node) and returns: kwargs,  solver