KerasHub 是一个预训练模型库,旨在简单、灵活、快速。该库提供了流行模型架构的 Keras 3 实现,并配有一系列可在 Kaggle 模型 上获取的预训练检查点。这些模型可用于在 TensorFlow、Jax 和 Torch 后端中的任何一个上进行训练和推理。
KerasHub 是 Keras 核心 API 的扩展;KerasHub 组件作为 Layers
和 Models
提供。如果您熟悉 Keras,恭喜!您已经了解了大部分 KerasHub。
请参阅我们的 入门指南 以开始学习我们的 API。我们欢迎 贡献。
要使用 Keras 3 安装最新的 KerasHub 版本,只需运行以下命令
pip install --upgrade keras-hub
要安装 KerasHub 和 Keras 的最新夜间构建版本,可以使用我们的夜间构建包。
pip install --upgrade keras-hub-nightly
请注意,目前,安装 KerasHub 将始终引入 TensorFlow 用于 tf.data
API 以进行预处理。即使使用 tf.data
进行预处理,训练仍然可以在任何后端上进行。
阅读 Keras 入门 以获取有关安装 Keras 3 以及与不同框架兼容性的更多信息。
注意: 我们建议将 KerasHub 与 TensorFlow 2.16 或更高版本一起使用,因为 TF 2.16 包默认包含 Keras 3。
以下是一个使用 ResNet 预测图像和使用 BERT 训练分类器的快速示例
import os
os.environ["KERAS_BACKEND"] = "jax" # Or "tensorflow" or "torch"!
import keras
import keras_hub
import numpy as np
import tensorflow_datasets as tfds
# Load a ResNet model.
classifier = keras_hub.models.ImageClassifier.from_preset(
"resnet_50_imagenet",
activation="softmax",
)
# Predict a label for a single image.
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/aa/California_quail.jpg"
image_path = keras.utils.get_file(origin=image_url)
image = keras.utils.load_img(image_path)
batch = np.array([image])
preds = classifier.predict(batch)
print(keras_hub.utils.decode_imagenet_predictions(preds))
# Load a BERT model.
classifier = keras_hub.models.BertClassifier.from_preset(
"bert_base_en_uncased",
activation="softmax",
num_classes=2,
)
# Fine-tune on IMDb movie reviews.
imdb_train, imdb_test = tfds.load(
"imdb_reviews",
split=["train", "test"],
as_supervised=True,
batch_size=16,
)
classifier.fit(imdb_train, validation_data=imdb_test)
# Predict two new examples.
preds = classifier.predict(
["What an amazing movie!", "A total waste of my time."]
)
print(preds)
我们遵循 语义版本控制,并计划为使用我们组件构建的代码和保存的模型提供向后兼容性保证。虽然我们继续进行预发布 0.y.z
开发,但我们可能会随时中断兼容性,并且 API 不应被视为稳定。
KerasHub 通过 keras_hub.models
API 提供对预训练模型的访问。这些预训练模型按“原样”提供,没有任何明示或暗示的保证或条件。
如果 KerasHub 有助于您的研究,我们感谢您引用。以下是 BibTeX 条目
@misc{kerashub2022,
title={KerasHub},
author={Watson, Matthew, and Qian, Chen, and Bischof, Jonathan and Chollet,
Fran\c{c}ois and others},
year={2022},
howpublished={\url{https://github.com/keras-team/keras-hub}},
}