KerasNLP

KerasNLP

Star

KerasNLP 是一个自然语言处理库,能够原生支持 TensorFlow、JAX 或 PyTorch。基于 Keras 3 构建,这些模型、层、指标和分词器可以在任何框架中进行训练和序列化,并可以在另一个框架中重复使用,而无需耗费高昂的迁移成本。

KerasNLP 在整个开发周期中为用户提供支持。我们的工作流程由模块化组件构成,具有开箱即用的最先进预设权重,且在需要更多控制时易于自定义。

该库是核心 Keras API 的扩展;所有高层模块都是 LayersModels,在打磨上与核心 Keras 一样。如果你熟悉 Keras,恭喜你!你已经理解了 KerasNLP 的大部分内容。

查看我们的 快速入门指南 开始学习我们的 API。我们欢迎 贡献


快速链接

指南

示例


安装

KerasNLP 支持 Keras 2 和 Keras 3。我们建议新用户使用 Keras 3,因为它支持与 JAX、TensorFlow 和 PyTorch 一起使用 KerasNLP 模型和层。

Keras 2 安装

要使用 Keras 2 安装最新的 KerasNLP 发布版,只需运行:

pip install --upgrade keras-nlp

Keras 3 安装

目前有两种方式安装 Keras 3 和 KerasNLP。要安装 KerasNLP 和 Keras 3 的稳定版本,你应该在安装 KerasNLP 之后安装 Keras 3。这是一个临时步骤,随着 TensorFlow 固定为 Keras 2,将不再需要此步骤。

pip install --upgrade keras-nlp
pip install --upgrade keras

要安装 KerasNLP 和 Keras 的最新夜间版本,你可以使用我们的夜间包。

pip install --upgrade keras-nlp-nightly

注意: Keras 3 将不与 TensorFlow 2.14 或更早版本兼容。

有关一般安装 Keras 和与不同框架兼容性的更多信息,请参见 Keras 入门


快速开始

使用 keras_nlp.models API 在小型情感分析任务中微调 BERT:

import os
os.environ["KERAS_BACKEND"] = "tensorflow"  # 或者 "jax" 或 "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,
)
# 加载 BERT 模型。
classifier = keras_nlp.models.BertClassifier.from_preset(
    "bert_base_en_uncased", 
    num_classes=2,
)
# 在 IMDb 电影评论上进行微调。
classifier.fit(imdb_train, validation_data=imdb_test)
# 预测两个新示例。
classifier.predict(["What an amazing movie!", "A total waste of my time."])

兼容性

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

免责声明

KerasNLP 通过 keras_nlp.models API 提供对预训练模型的访问。这些预训练模型在“按现状”基础上提供,不提供任何形式的保证或条件。以下基础模型由第三方提供,并受到单独许可证的约束:BART、DeBERTa、DistilBERT、GPT-2、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}}, } 请提供需要翻译的markdown内容。