code: def execute(self):
      self._nnp = nnabla_pb2.NNablaProtoBuf()
      other_files = []
      for ifile in self._args:
          print("Importing {}".format(ifile))
          ext = os.path.splitext(ifile)[1].lower()
          if ext == ".nnp":
              try:
                  tmpdir = tempfile.mkdtemp()
                  with zipfile.ZipFile(ifile, "r") as nnpzip:
                      for name in nnpzip.namelist():
                          if os.path.splitext(name)[1].lower() in [
                              ".nntxt",
                              ".prototxt",
                          ]:
                              nnpzip.extract(name, tmpdir)
                              with open(
                                  os.path.join(tmpdir, name), "rt"
                              ) as f:
                                  text_format.Merge(f.read(), self._nnp)
                      for name in nnpzip.namelist():  # Param
                          if os.path.splitext(name)[1].lower() in [
                              ".protobuf",
                              ".h5",
                          ]:
                              nnpzip.extract(name, tmpdir)
                              self.load_parameters(
                                  os.path.join(tmpdir, name)
                              )
              finally:
                  shutil.rmtree(tmpdir)
          elif ext in [".nntxt", ".prototxt"]:
              with open(ifile, "rt") as f:
                  text_format.Merge(f.read(), self._nnp)
          elif ext in [".protobuf", ".h5"]:
              self.load_parameters(ifile)
          else:
              other_files.append(ifile)
  
      executor_name = self._nnp.executor[0].network_name
      network = self.find_network(executor_name)
      parameter_variable_list = self.find_parameter_variable(network)
      if parameter_variable_list and not self._nnp.parameter:
          self.generate_parameters_data(
              parameter_variable_list, network.batch_size
          )
  
      if self._executor_index is not None:
          if self._executor_index < len(self._nnp.executor):
              self._nnp = self._shrink_with_executor(
                  self._nnp.executor[self._executor_index]
              )
  
      if self._expand_network:
          self._nnp = expander.NnpExpander(self._nnp).execute()
  
      class nnp:
          pass
  
      nnp.protobuf = self._nnp
      nnp.other_files = other_files
      return nnp
  
file_path: nnabla/python/src/nnabla/utils/converter/nnabla/importer.py
imports: import os
  import shutil
  import tempfile
  import zipfile
  import google.protobuf.text_format
  from nnabla.utils import nnabla_pb2
  from .None import expander
label_desc: Use image node_id 7 for calling the NnpImporter obj's underlying member method code with example usage: obj.execute() and returns: nnp