适用于 TF Hub 的通用 SavedModel API

简介

TensorFlow Hub 托管各种任务的模型。鼓励针对同一任务的模型实现通用 API,以便模型使用者可以轻松地交换模型,而无需修改使用这些模型的代码,即使这些模型来自不同的发布者。

目标是让交换同一任务的不同模型变得像切换字符串值超参数一样简单。这样,模型使用者可以轻松地找到最适合其问题的一个模型。

此目录收集了 TF2 SavedModel 格式 中模型的通用 API 规范。(它取代了现已弃用的 TF1 Hub 格式通用签名。)

可重复使用的 SavedModel:通用基础

可重复使用的 SavedModel API 定义了将 SavedModel 重新加载回 Python 程序并将其作为更大 TensorFlow 模型的一部分重复使用的通用约定。

基本用法

obj = hub.load("path/to/model")  # That's tf.saved_model.load() after download.
outputs = obj(inputs, training=False)  # Invokes the tf.function obj.__call__.

对于 Keras 用户,hub.KerasLayer 类依赖此 API 将可重复使用的 SavedModel 包装为 Keras 层(保护 Keras 用户免受其详细信息的影响),其输入和输出符合下面列出的特定于任务的 API。

特定于任务的 API

这些 API 使用特定于 ML 任务和数据类型的约定来优化可重复使用的 SavedModel API