code: def save_run(
      config,
      environment=None,
      comment=None,
      extra_config=None,
      filename=DEFAULT_FILENAME,
  ):
      if environment == "cloud":
          # We don't write runs inside Google Cloud, we run it before.
          return
  
      diff = get_diff()
      lumi_version = get_luminoth_version()
      tf_version = get_tensorflow_version()
  
      experiment = {
          "environment": environment,
          "datetime": str(datetime.datetime.utcnow()) + "Z",
          "diff": diff,
          "luminoth_version": lumi_version,
          "tensorflow_version": tf_version,
          "config": config,
          "extra_config": extra_config,
      }
  
      path = get_luminoth_home()
      file_path = os.path.join(path, filename)
      tf.gfile.MakeDirs(path)
  
      with tf.gfile.Open(file_path, "a") as log:
          log.write(json.dumps(experiment) + "\n")
  
file_path: luminoth/luminoth/utils/experiments.py
imports: import datetime
  import json
  import os.path
  import subprocess
  import tensorflow
  from luminoth.utils.homedir import get_luminoth_home
label_desc: Use image node_id 4 for calling a global function with example usage: save_run(config, environment, comment, extra_config, filename) without return types