code: def run(logdir=None, **options):
      args = {"logdir": logdir}
      args.update(options)
      p = multiprocessing.Process(target=_run, args=(args,))
      p.start()
      return p.pid
  
imports: import json
  import multiprocessing
  import os
  import re
  import signal
  import sys
  import threading
  import time
  import urllib
  import webbrowser
  import requests
  from flask import Flask
  from flask import make_response
  from flask import redirect
  from flask import request
  from flask import Response
  from flask import send_file
  from flask_babel import Babel
  import visualdl.server
  from visualdl import __version__
  from visualdl.component.inference.fastdeploy_lib import get_start_arguments
  from visualdl.component.inference.fastdeploy_server import create_fastdeploy_api_call
  from visualdl.component.inference.model_convert_server import create_model_convert_api_call
  from visualdl.component.profiler.profiler_server import create_profiler_api_call
  from visualdl.server.api import create_api_call
  from visualdl.server.api import get_component_tabs
  from visualdl.server.args import parse_args
  from visualdl.server.args import ParseArgs
  from visualdl.server.log import info
  from visualdl.server.serve import upload_to_dev
  from visualdl.server.template import Template
  from visualdl.utils import update_util
label_desc: Use image node_id 4 for calling a global function with example usage: run(logdir) and returns: p