class_docstr: Asset store backed by disk storage.
  
  If `archive` is specified, then `root_path` refers to the filename
  inside the archive.
  
  If `archive` is not specified, then `root_path` refers to the full path of
  the target directory.
class_docstr_tok: ["Asset","store","backed","by","disk","storage",".","If","`","archive","`","is","specified",",","then","`","root_path","`","refers","to","the","filename","inside","the","archive",".","If","`","archive","`","is","not","specified",",","then","`","root_path","`","refers","to","the","full","path","of","the","target","directory","."]
code: def __init__(self, root_path, archive=None, mode=None):
      self.mode = mode
      self.root_path = root_path
      self.archive = archive
      self.tmp_dir = None
      if self.archive:
          self.tmp_dir = get_temp_dir()
          if self.mode == "r":
              self.archive.extractall(path=self.tmp_dir)
          self.working_dir = file_utils.join(
              self.tmp_dir, self.root_path
          ).replace("\\", "/")
          if self.mode == "w":
              file_utils.makedirs(self.working_dir)
      else:
          if mode == "r":
              self.working_dir = root_path
          else:
              self.tmp_dir = get_temp_dir()
              self.working_dir = file_utils.join(
                  self.tmp_dir, self.root_path
              ).replace("\\", "/")
              file_utils.makedirs(self.working_dir)
  
imports: import datetime
  import io
  import json
  import tempfile
  import warnings
  import zipfile
  import numpy
  from keras.backend.common import global_state
  from keras.layers.layer import Layer
  from keras.losses.loss import Loss
  from keras.metrics.metric import Metric
  from keras.optimizers.optimizer import Optimizer
  from keras.saving.serialization_lib import ObjectSharingScope
  from keras.saving.serialization_lib import deserialize_keras_object
  from keras.saving.serialization_lib import serialize_keras_object
  from keras.trainers.compile_utils import CompileMetrics
  from keras.utils import file_utils
  from keras.utils import naming
  from keras.version import __version__
label_desc: Use image node_id 1 to create a new DiskIOStore object  with example: obj = DiskIOStore(root_path, archive, mode)