KerasHub

KerasHub

星标

KerasHub 是一个预训练模型库,旨在简单、灵活且快速。该库提供了 Keras 3 实现的流行模型架构,并搭配了可在 Kaggle Models 上找到的预训练检查点集合。模型可用于训练和推理,支持 TensorFlow、Jax 和 Torch 等所有后端。

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



安装

要安装最新版本的 KerasHub 和 Keras 3,只需运行:

pip install --upgrade keras-hub

要安装 KerasHub 和 Keras 的最新 nightly 版本,您可以使用我们的 nightly 包。

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