Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Tensorflow Serving ServableVersionPolicy

From Leeroopedia
Knowledge Sources
Domains Version_Management, Configuration
Last Updated 2026-02-13 17:00 GMT

Overview

Concrete tool for configuring which model versions are loaded, defined as a protobuf message and enforced by the FileSystemStoragePathSource.

Description

ServableVersionPolicy is a protobuf message that specifies version selection rules. It is set on the model_version_policy field of ModelConfig and propagated through ServerCore::CreateStoragePathSourceConfig() to the filesystem source. The source implements three aspiration strategies: AspireLatestVersions(), AspireAllVersions(), and AspireSpecificVersions().

Usage

Set the model_version_policy field in your model configuration protobuf or config file. This is configured at server startup via --model_config_file or dynamically via HandleReloadConfigRequest.

Code Reference

Source Location

  • Repository: tensorflow/serving
  • File: tensorflow_serving/config/file_system_storage_path_source.proto (L8-36)
  • Enforcement: tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc (L97-321)

Signature

message ServableVersionPolicy {
  message Latest {
    uint32 num_versions = 1;  // default: 1
  }
  message All {}
  message Specific {
    repeated int64 versions = 1;
  }
  oneof policy_choice {
    Latest latest = 100;
    All all = 101;
    Specific specific = 102;
  }
}

Import

// In ModelConfig:
import "tensorflow_serving/config/file_system_storage_path_source.proto";

I/O Contract

Inputs

Name Type Required Description
policy_choice oneof Yes One of: latest, all, or specific
latest.num_versions uint32 No Number of latest versions to serve (default 1)
specific.versions repeated int64 No Explicit list of version numbers to serve

Outputs

Name Type Description
Aspired versions vector<ServableData> Filtered list of versions to load

Usage Examples

Model Config with Version Policies

# models.config - serve latest 2 versions
model_config_list {
  config {
    name: 'my_model'
    base_path: '/models/my_model/'
    model_platform: 'tensorflow'
    model_version_policy {
      latest {
        num_versions: 2
      }
    }
  }
}
# Serve all versions
model_config_list {
  config {
    name: 'my_model'
    base_path: '/models/my_model/'
    model_platform: 'tensorflow'
    model_version_policy {
      all {}
    }
  }
}
# Serve specific versions only
model_config_list {
  config {
    name: 'my_model'
    base_path: '/models/my_model/'
    model_platform: 'tensorflow'
    model_version_policy {
      specific {
        versions: 42
        versions: 43
      }
    }
  }
}

Related Pages

Implements Principle

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment