KerasNLP

KerasNLP

星標

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 安裝

目前有兩種方法可以使用 KerasNLP 安裝 Keras 3。要安裝穩定版本的 KerasNLP 和 Keras 3,您應該在安裝 KerasNLP 之後安裝 Keras 3。這是 TensorFlow 被固定到 Keras 2 的一個臨時步驟,在 TensorFlow 2.16 之後將不再需要。

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"  # Or "jax" 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.BertClassifier.from_preset(
    "bert_base_en_uncased", 
    num_classes=2,
)
# 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."])

相容性

我們遵循 語義版本控制,並計畫為使用我們的組件構建的程式碼和儲存的模型提供向後相容性保證。雖然我們繼續進行預發佈 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}},
}