class_docstr: Semantic Segmentation pretrained models are inherited from this class
  so that it provides some common interfaces.
docstr: Returns category names of VOC dataset classes.
code: def category_names(self):
      """
      Returns category names of VOC dataset classes.
      """
      if hasattr(self, "_category_names"):
          return self._category_names
      voc_dir = os.path.join(os.path.dirname(__file__))
      voc_dir = os.path.join(
          voc_dir.replace("semantic_segmentation", "object_detection"),
          "voc.names",
      )
      with open(voc_dir, "r") as fd:
          self._category_names = fd.read().splitlines()
      return self._category_names
  
file_path: nnabla/python/src/nnabla/models/semantic_segmentation/base.py
imports: from __future__ import absolute_import
  from nnabla.utils.nnp_graph import NnpLoader
  from ..utils import *
label_desc: Use image node_id 2 for calling the SemanticSegmentation obj's underlying member method code with example usage: obj.category_names() and returns: self, self