KerasHub

KerasHub

收藏

KerasHub 是一个预训练模型库,旨在简单、灵活和快速。该库提供了 Keras 3 中流行的模型架构的实现,并搭配了在 Kaggle 模型上可用的一系列预训练检查点。模型可以用于 TensorFlow、Jax 和 Torch 后端的训练和推理。

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



安装

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

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