code: def download_func_info_yaml(nnp_version):
      import urllib.request
  
      cache_dir = os.path.join(expanduser("~"), ".nnabla")
      if not os.path.exists(cache_dir):
          os.makedirs(cache_dir)
      yaml_file = os.path.join(
          cache_dir, f"function_info_{nnp_version}.yaml"
      )
      try:
          logger.info(
              f"Downloading function information for nnabla v{nnp_version}, it will take a few time..."
          )
          url = f"https://raw.githubusercontent.com/sony/nnabla/v{nnp_version}/build-tools/code_generator/functions.yaml"
          logger.info(f"Retrieve from {url} ...")
          urllib.request.urlretrieve(url, yaml_file)
          logger.info(
              f"Function information is downloaded to: {yaml_file}"
          )
      except Exception as e:
          print(e)
  
imports: import pickle
  import zlib
  from collections import OrderedDict
  from os.path import abspath, join, dirname, expanduser
  import glob
  import os
  import yaml
  import certifi
  import ssl
  from nnabla.utils import nnabla_pb2
  from nnabla.logger import logger
label_desc: Use image node_id 4 for calling a global function with example usage: download_func_info_yaml(nnp_version) without return types