code: def func_set_nnabla_support(version_spec=None):
      if version_spec is None:
          func_list = []
          for cat, cat_info in _nnabla_func_info.items():
              for func, func_info in cat_info.items():
                  func_list.append(func)
          return set(func_list)
      else:
          nnp, nnp_version = version_spec
          # load func_info to _nnabla_func_info_cur
          for cat, cat_info in _nnabla_func_info.items():
              for func, func_info in cat_info.items():
                  _nnabla_func_info_cur[func] = func_info
          old_set = func_set_get_from_repo(nnp_version)
          unsupported = _func_set_nnabla_unsupport()
          # logger.info(f"The following functions are not supported in version: {nnp_version}:")
          # for f in unsupported:
          #     logger.info(f"{f}")
          old_set -= unsupported
          nnp_set = func_set_import_nnp(nnp)
          if nnp_set & old_set != nnp_set:
              unsupported_functions = nnp_set - old_set
              logger.error(
                  f"The following functions are not supported in nnabla v{nnp_version} but appear in .nnp file."
              )
              for f in unsupported_functions:
                  logger.error(f"{f}")
              raise ValueError(
                  f"nnp file contains unsupported functions by nnabla version: {nnp_version}."
              )
          return old_set
  
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 28 for calling a global function with example usage: func_set_nnabla_support(version_spec) and returns: set, old_set