为Keras提供工业级自然语言处理扩展。
项目描述
KerasNLP:多框架NLP模型
KerasNLP是一个与TensorFlow、JAX或PyTorch原生兼容的自然语言处理库。KerasNLP提供了一个预训练模型库和一系列用于语言建模的低级构建块。基于Keras 3构建的模型可以在任何框架中训练和序列化,无需昂贵的迁移即可在其他框架中重用。
该库是Keras核心API的扩展;所有高级模块都是层和模型,它们都接受了与核心Keras相同级别的打磨。如果您熟悉Keras,恭喜您!您已经理解了KerasNLP的大部分内容。
所有模型都支持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。
安装
要安装与Keras 3兼容的最新KerasNLP版本,请运行
pip install --upgrade keras-nlp
要安装KerasNLP和Keras的最新夜间版本,您可以使用我们的夜间包。
pip install --upgrade keras-nlp-nightly
请注意,目前,安装KerasNLP将始终拉取TensorFlow以使用tf.data
API进行预处理。即使在tf.data
中进行预处理,训练仍然可以在任何后端进行。
有关安装Keras 3和与不同框架的兼容性的更多信息,请参阅Keras入门。
[!重要] 我们建议使用TensorFlow 2.16或更高版本与KerasNLP一起使用,因为TF 2.16默认包含Keras 3。
配置您的后端
如果您已经在环境中安装了Keras 3(参见上面安装部分),您可以使用KerasNLP与JAX、TensorFlow和PyTorch中的任何一个一起使用。要这样做,请设置KERAS_BACKEND
环境变量。例如
export KERAS_BACKEND=jax
或者在Colab中,使用
import os
os.environ["KERAS_BACKEND"] = "jax"
import keras_nlp
[!重要] 在导入任何Keras库之前,请确保设置了
KERAS_BACKEND
,它将在首次导入时设置Keras。
兼容性
我们遵循语义版本控制,并计划为我们组件构建的代码和保存的模型提供向后兼容性保证。虽然我们在进行预发布0.y.z
开发,但我们可能在任何时候打破兼容性,API不应被视为稳定。
免责声明
KerasNLP通过keras_nlp.models
API提供对预训练模型的访问。这些预训练模型按“原样”提供,不提供任何类型的保证或条件。以下基础模型由第三方提供,并受单独许可的约束:BART、BLOOM、DeBERTa、DistilBERT、GPT-2、Llama、Mistral、OPT、RoBERTa、Whisper和XLM-RoBERTa。
引用KerasNLP
如果KerasNLP帮助了您的研究,我们非常感谢您的引用。以下是一个BibTeX条目
@misc{kerasnlp2022,
title={KerasNLP},
author={Watson, Matthew, and Qian, Chen, and Bischof, Jonathan and Chollet,
Fran\c{c}ois and others},
year={2022},
howpublished={\url{https://github.com/keras-team/keras-nlp}},
}
致谢
感谢所有我们出色的贡献者!
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
keras_nlp-0.15.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1a59097203ab16245a016c6c475c45c39e6391120ff817b9cf71ab5fc006514d |
|
MD5 | bf2e505f08052ad845567945c3f7112c |
|
BLAKE2b-256 | 4e4f71b7fddb390ad6f56aee440a5fe3dd997341b47b5bcf4f95dfaa05357f4a |
keras_nlp-0.15.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 913627947d0d4f45ea55e30c88c4230ce65105437a2a0ad85551249199c42e82 |
|
MD5 | c7e737b43fe753cd4bd69b074c1bed1d |
|
BLAKE2b-256 | 5e1e6fce50e364328d1f4f004b58fefb836ff94fa63853b6a654a2ec99b24a81 |