适用于 Keras 的行业级自然语言处理扩展。
项目描述
KerasNLP
KerasNLP 是一个简单而强大的 API,用于在 Keras 生态系统中构建自然语言处理 (NLP) 模型。
KerasNLP 提供遵循标准 Keras 接口(层、指标)的模块化构建块,允许您快速灵活地迭代您的任务。从事应用 NLP 工作的工程师可以利用该库来组装最先进的和生产级的训练和推理管道。
KerasNLP 可以理解为 Keras API 的横向扩展——组件是第一方 Keras 对象,它们过于专业化,无法添加到核心 Keras,但与 Keras API 的其余部分具有相同级别的润色。
我们是一个新的和成长中的项目,欢迎贡献。
快速链接
给大家
对于贡献者
快速开始
安装最新版本:
pip install keras-nlp --upgrade
标记文本,构建一个微型转换器,并训练一个批次:
import keras_nlp
import tensorflow as tf
from tensorflow import keras
# Tokenize some inputs with a binary label.
vocab = ["[UNK]", "the", "qu", "##ick", "br", "##own", "fox", "."]
sentences = ["The quick brown fox jumped.", "The fox slept."]
tokenizer = keras_nlp.tokenizers.WordPieceTokenizer(
vocabulary=vocab,
sequence_length=10,
)
x, y = tokenizer(sentences), tf.constant([1, 0])
# Create a tiny transformer.
inputs = keras.Input(shape=(None,), dtype="int32")
outputs = keras_nlp.layers.TokenAndPositionEmbedding(
vocabulary_size=len(vocab),
sequence_length=10,
embedding_dim=16,
)(inputs)
outputs = keras_nlp.layers.TransformerEncoder(
num_heads=4,
intermediate_dim=32,
)(outputs)
outputs = keras.layers.GlobalAveragePooling1D()(outputs)
outputs = keras.layers.Dense(1, activation="sigmoid")(outputs)
model = keras.Model(inputs, outputs)
# Run a single batch of gradient descent.
model.compile(optimizer="adam", loss="binary_crossentropy", jit_compile=True)
model.train_on_batch(x, y)
兼容性
我们遵循语义版本控制,并计划为使用我们的组件构建的代码和保存的模型提供向后兼容性保证。虽然我们继续进行预发布0.y.z开发,但我们可能随时破坏兼容性,并且 API 不应该被认为是稳定的。
引用 KerasNLP
如果 KerasNLP 对您的研究有所帮助,我们感谢您的引用。这是 BibTeX 条目:
@misc{kerasnlp2022,
title={KerasNLP},
author={Watson, Matthew, and Qian, Chen, and Zhu, Scott and Chollet, Fran\c{c}ois and others},
year={2022},
howpublished={\url{https://github.com/keras-team/keras-nlp}},
}
感谢我们所有出色的贡献者!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
keras-nlp-0.3.0.tar.gz
(85.7 kB
查看哈希)
内置分布
keras_nlp-0.3.0-py3-none-any.whl
(142.4 kB
查看哈希)