Beispiel #1
0
  def _save_and_write_assets(self, assets_collection_to_add=None):
    """Saves asset to the meta graph and writes asset files to disk.

    Args:
      assets_collection_to_add: The collection where the asset paths are setup.
    """
    asset_filename_map = _maybe_save_assets(assets_collection_to_add)

    # Return if there are no assets to write.
    if not asset_filename_map:
      tf_logging.info("No assets to write.")
      return

    assets_destination_dir = saved_model_utils.get_or_create_assets_dir(
        self._export_dir)

    # Copy each asset from source path to destination path.
    for asset_basename, asset_source_filepath in asset_filename_map.items():
      asset_destination_filepath = os.path.join(
          compat.as_bytes(assets_destination_dir),
          compat.as_bytes(asset_basename))

      # Only copy the asset file to the destination if it does not already
      # exist. This is to ensure that an asset with the same name defined as
      # part of multiple graphs is only copied the first time.
      if not file_io.file_exists(asset_destination_filepath):
        file_io.copy(asset_source_filepath, asset_destination_filepath)

    tf_logging.info("Assets written to: %s",
                    compat.as_text(assets_destination_dir))
    def _save_and_write_assets(self, assets_collection_to_add=None):
        """Saves asset to the meta graph and writes asset files to disk.

    Args:
      assets_collection_to_add: The collection where the asset paths are setup.
    """
        asset_filename_map = _maybe_save_assets(assets_collection_to_add)

        # Return if there are no assets to write.
        if not asset_filename_map:
            tf_logging.info("No assets to write.")
            return

        assets_destination_dir = saved_model_utils.get_or_create_assets_dir(
            self._export_dir)

        # Copy each asset from source path to destination path.
        for asset_basename, asset_source_filepath in asset_filename_map.items(
        ):
            asset_destination_filepath = os.path.join(
                compat.as_bytes(assets_destination_dir),
                compat.as_bytes(asset_basename))

            # Only copy the asset file to the destination if it does not already
            # exist. This is to ensure that an asset with the same name defined as
            # part of multiple graphs is only copied the first time.
            if not file_io.file_exists(asset_destination_filepath):
                file_io.copy(asset_source_filepath, asset_destination_filepath)

        tf_logging.info("Assets written to: %s",
                        compat.as_text(assets_destination_dir))
Beispiel #3
0
def _export_model_json(model, saved_model_path):
    """Saves model configuration as a json string under assets folder."""
    model_json = model.to_json()
    model_json_filepath = os.path.join(
        saved_model_utils.get_or_create_assets_dir(saved_model_path),
        compat.as_text(constants.SAVED_MODEL_FILENAME_JSON))
    file_io.write_string_to_file(model_json_filepath, model_json)
Beispiel #4
0
def _export_model_json(model, saved_model_path):
  """Saves model configuration as a json string under assets folder."""
  model_json = model.to_json()
  model_json_filepath = os.path.join(
      saved_model_utils.get_or_create_assets_dir(saved_model_path),
      compat.as_text(constants.SAVED_MODEL_FILENAME_JSON))
  file_io.write_string_to_file(model_json_filepath, model_json)
Beispiel #5
0
def _export_model_json_and_variables(model, saved_model_path):
    """Save model variables and json structure into SavedModel subdirectories."""
    # Save model configuration as a json string under assets folder.
    model_json = model.to_json()
    model_json_filepath = os.path.join(
        saved_model_utils.get_or_create_assets_dir(saved_model_path),
        compat.as_text(constants.SAVED_MODEL_FILENAME_JSON))
    file_io.write_string_to_file(model_json_filepath, model_json)

    # Save model weights in checkpoint format under variables folder.
    saved_model_utils.get_or_create_variables_dir(saved_model_path)
    checkpoint_prefix = saved_model_utils.get_variables_path(saved_model_path)
    model.save_weights(checkpoint_prefix, save_format='tf', overwrite=True)
    return checkpoint_prefix
def _export_model_json_and_variables(model, saved_model_path):
  """Save model variables and json structure into SavedModel subdirectories."""
  # Save model configuration as a json string under assets folder.
  model_json = model.to_json()
  model_json_filepath = os.path.join(
      saved_model_utils.get_or_create_assets_dir(saved_model_path),
      compat.as_text(constants.SAVED_MODEL_FILENAME_JSON))
  file_io.write_string_to_file(model_json_filepath, model_json)

  # Save model weights in checkpoint format under variables folder.
  saved_model_utils.get_or_create_variables_dir(saved_model_path)
  checkpoint_prefix = saved_model_utils.get_variables_path(saved_model_path)
  model.save_weights(checkpoint_prefix, save_format='tf', overwrite=True)
  return checkpoint_prefix
Beispiel #7
0
def copy_assets_to_destination_dir(asset_filename_map, destination_dir):
  """Copy all assets from source path to destination path."""
  assets_destination_dir = saved_model_utils.get_or_create_assets_dir(
      destination_dir)

  # Copy each asset from source path to destination path.
  for asset_basename, asset_source_filepath in asset_filename_map.items():
    asset_destination_filepath = os.path.join(
        compat.as_bytes(assets_destination_dir),
        compat.as_bytes(asset_basename))

    # Only copy the asset file to the destination if it does not already
    # exist. This is to ensure that an asset with the same name defined as
    # part of multiple graphs is only copied the first time.
    if not file_io.file_exists(asset_destination_filepath):
      file_io.copy(asset_source_filepath, asset_destination_filepath)

  tf_logging.info("Assets written to: %s",
                  compat.as_text(assets_destination_dir))
  def _copy_assets_to_destination_dir(self, asset_filename_map):
    """Copy all assets from source path to destination path."""
    assets_destination_dir = saved_model_utils.get_or_create_assets_dir(
        self._export_dir)

    # Copy each asset from source path to destination path.
    for asset_basename, asset_source_filepath in asset_filename_map.items():
      asset_destination_filepath = os.path.join(
          compat.as_bytes(assets_destination_dir),
          compat.as_bytes(asset_basename))

      # Only copy the asset file to the destination if it does not already
      # exist. This is to ensure that an asset with the same name defined as
      # part of multiple graphs is only copied the first time.
      if not file_io.file_exists(asset_destination_filepath):
        file_io.copy(asset_source_filepath, asset_destination_filepath)

    tf_logging.info("Assets written to: %s",
                    compat.as_text(assets_destination_dir))