KerasHub

KerasHub

Star

KerasHub 是一个预训练模型库,旨在简单、灵活和快速。该库提供了流行模型架构的 Keras 3 实现,并结合了可在 Kaggle Models 上获取的预训练检查点集合。模型可用于训练和推理,适用于 TensorFlow、Jax 和 Torch 等任何后端。

KerasHub 是核心 Keras API 的扩展;KerasHub 组件作为 keras.layers.Layerkeras.Model 实现提供。如果您熟悉 Keras,恭喜!您已经理解了 KerasHub 的大部分内容。



安装

要使用 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、加速器支持以及与不同框架的兼容性的更多信息。


快速入门

选择后端

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)

兼容性

我们遵循 语义版本控制,并计划为使用我们的组件构建的代码和保存的模型提供向后兼容性保证。在我们继续进行预发布 0.y.z 开发时,我们可能会随时破坏兼容性,并且 API 不应被视为稳定。


免责声明

KerasHub 通过 keras_hub.models API 提供对预训练模型的访问。这些预训练模型按“原样”提供,没有任何形式的保证或条件。


引用 KerasHub

如果 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}},
}