KerasHub 是一个预训练模型库,旨在实现简单、灵活和快速。该库提供了流行模型架构的 Keras 3 实现,并结合了 Kaggle Models 上提供的预训练检查点集合。模型可用于 TensorFlow、Jax 和 Torch 后端上的训练和推理。
KerasHub 是核心 Keras API 的扩展;KerasHub 组件作为 keras.layers.Layer
和 keras.Model
的实现提供。如果您熟悉 Keras,恭喜!您已经理解了 KerasHub 的大部分内容。
要安装带有 Keras 3 的最新 KerasHub 版本,只需运行
pip install --upgrade keras-hub
要安装 KerasHub 和 Keras 的最新每夜构建(nightly changes),您可以使用我们的每夜构建软件包。
pip install --upgrade keras-hub-nightly
目前,安装 KerasHub 将始终拉取 TensorFlow 以使用 tf.data
API 进行预处理。使用 tf.data
进行预处理时,训练仍可在任何后端上进行。
访问核心 Keras 入门页面,了解更多关于安装 Keras 3、加速器支持以及与不同框架兼容性的信息。
选择后端
import os
os.environ["KERAS_BACKEND"] = "jax" # Or "tensorflow" or "torch"!
导入 KerasHub 和其他库
import keras
import keras_hub
import numpy as np
import tensorflow_datasets as tfds
加载 ResNet 模型并用它预测图像标签
classifier = keras_hub.models.ImageClassifier.from_preset(
"resnet_50_imagenet",
activation="softmax",
)
url = "https://upload.wikimedia.org/wikipedia/commons/a/aa/California_quail.jpg"
path = keras.utils.get_file(origin=url)
image = keras.utils.load_img(path)
preds = classifier.predict(np.array([image]))
print(keras_hub.utils.decode_imagenet_predictions(preds))
加载 Bert 模型并在 IMDb 电影评论数据集上进行微调
classifier = keras_hub.models.BertClassifier.from_preset(
"bert_base_en_uncased",
activation="softmax",
num_classes=2,
)
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)
preds = classifier.predict(["What an amazing movie!", "A total waste of time."])
print(preds)
我们遵循语义化版本控制(Semantic Versioning),并计划为使用我们的组件构建的代码和已保存的模型提供向后兼容性保证。在我们继续进行预发布版本 0.y.z
的开发期间,我们可能随时破坏兼容性,因此 API 不应被视为稳定。
KerasHub 通过 keras_hub.models
API 提供对预训练模型的访问。这些预训练模型按“现状”提供,不附带任何形式的保证或条件。
如果 KerasHub 对您的研究有所帮助,我们感谢您的引用。以下是 BibTeX 条目
@misc{kerashub2024,
title={KerasHub},
author={Watson, Matthew, and Chollet, Fran\c{c}ois and Sreepathihalli,
Divyashree, and Saadat, Samaneh and Sampath, Ramesh, and Rasskin, Gabriel and
and Zhu, Scott and Singh, Varun and Wood, Luke and Tan, Zhenyu and Stenbit,
Ian and Qian, Chen, and Bischof, Jonathan and others},
year={2024},
howpublished={\url{https://github.com/keras-team/keras-hub}},
}