为Keras提供工业级自然语言处理扩展。
项目描述
KerasHub:多框架模型
[!IMPORTANT] 📢 KerasNLP 正成为 KerasHub!📢 请阅读 公告。
为了发布做准备,我们已经将存储库重命名为 KerasHub,但尚未发布新的软件包。请关注公告以获取最新消息。
KerasHub 是一个支持自然语言处理、计算机视觉、音频和多模态骨干和任务模型的库,它可以原生地与 TensorFlow、JAX 或 PyTorch 一起工作。KerasHub 提供了预训练模型的存储库以及用于这些任务的底层构建块集合。基于 Keras 3 构建,模型可以在任何框架中训练和序列化,并可以在另一个框架中重用,无需昂贵的迁移。
这个库是Keras核心API的扩展;所有高级模块都是与核心Keras相同级别的层和模型。如果您熟悉Keras,恭喜您!您已经理解了KerasHub的大部分内容。
所有模型都支持JAX、TensorFlow和PyTorch,通过单个模型定义即可,并且可以直接在GPU和TPU上微调。模型可以在单个加速器上使用内置的PEFT技术进行训练,或者通过模型和数据并行训练进行大规模微调。查看我们的入门指南,开始学习我们的API。在我们的Kaggle上浏览我们的模型。我们欢迎贡献。
快速链接
面向所有人
面向贡献者
快速入门
在IMDb电影评论上微调BERT分类器
import os
os.environ["KERAS_BACKEND"] = "jax" # Or "tensorflow" or "torch"!
import keras_nlp
import tensorflow_datasets as tfds
imdb_train, imdb_test = tfds.load(
"imdb_reviews",
split=["train", "test"],
as_supervised=True,
batch_size=16,
)
# Load a BERT model.
classifier = keras_nlp.models.Classifier.from_preset(
"bert_base_en",
num_classes=2,
activation="softmax",
)
# Fine-tune on IMDb movie reviews.
classifier.fit(imdb_train, validation_data=imdb_test)
# Predict two new examples.
classifier.predict(["What an amazing movie!", "A total waste of my time."])
在colab上试用。对于更深入的指南和示例,请访问keras.io/keras_nlp。
安装
KerasHub目前处于预发布阶段。请注意,预发布版本可能会在未来版本中引入对API的破坏性更改。为了获得稳定和支持的体验,我们建议安装keras-nlp
版本0.15.1
pip install keras-nlp==0.15.1
要尝试KerasHub的最新预发布版本,您可以使用我们的夜间包
pip install keras-hub-nightly
KerasHub目前需要安装TensorFlow才能使用tf.data
API进行预处理。即使使用tf.data
进行预处理,训练仍然可以在任何后端进行。
有关安装Keras 3以及与不同框架兼容性的更多信息,请参阅Keras入门。
[!IMPORTANT] 我们建议使用TensorFlow 2.16或更高版本与KerasHub一起使用,因为TF 2.16默认包含Keras 3。
配置您的后端
如果您在环境中安装了Keras 3(见上述安装说明),您可以使用KerasHub与JAX、TensorFlow和PyTorch中的任何一个一起使用。要做到这一点,设置KERAS_BACKEND
环境变量。例如
export KERAS_BACKEND=jax
或者在Colab中,使用
import os
os.environ["KERAS_BACKEND"] = "jax"
import keras_hub
[!IMPORTANT] 确保在导入任何Keras库之前设置
KERAS_BACKEND
,它将在第一次导入时设置Keras。
兼容性
我们遵循语义版本控制,并计划为使用我们的组件构建的代码和保存的模型提供向后兼容性保证。虽然我们继续进行预发布0.y.z
开发,但我们可能在任何时候破坏兼容性,API不应被视为稳定。
免责声明
KerasHub通过keras_hub.models
API提供对预训练模型的访问。这些预训练模型按“原样”提供,不提供任何保证或条件。以下基础模型由第三方提供,并受单独许可的约束:BART、BLOOM、DeBERTa、DistilBERT、GPT-2、Llama、Mistral、OPT、RoBERTa、Whisper和XLM-RoBERTa。
引用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}},
}
致谢
感谢所有我们杰出的贡献者!
项目详情
散列值 for keras_hub_nightly-0.16.1.dev202410040340.tar.gz
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0f06287851b8f2f828973a723609303c442ba7e3169405d263d422e79c4b3425 |
|
MD5 | e9553b39c029a0fdf3a119023499dcbc |
|
BLAKE2b-256 | c4ff865abf591ed6e636ec81a54d85d1970f10a68bded37799ee44997a41959e |
散列值 for keras_hub_nightly-0.16.1.dev202410040340-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1338163735a9ea9bba88e729d8cb8035243296d30b85e60dd7d745630bb897cf |
|
MD5 | db7f2b7a4538ff227b25547322ab1dac |
|
BLAKE2b-256 | 869b1883027d16386fbf03e0457c36e76a2f7f659b276887bd657bba7cfa8078 |