Python transformers库2025年3月15日 | 阅读 6 分钟 在下面的教程中,我们将理解 Python 编程语言中 transformers 库的基础知识。 Python transformers 库简介预训练的 transformer 模型彻底改变了自然语言处理 (NLP),并且可以使用 Hugging Face 的 `transformers` 库轻松进行操作。对于文本分类、翻译和问答等应用,该库拥有先进的模型。具体来说,这些基于 transformer 的模型在处理序列数据方面表现出色。 用户可以选择修改这些预训练模型或立即将其用于特定用例。该包支持 BERT、GPT 和 T5 等流行模型,同时还使 深度学习框架,如 PyTorch 和 TensorFlow 更易于使用。由于这种抽象,研究人员和开发人员可以更轻松地执行分词、模型推理和训练,从而需要更少的代码来访问最先进的模型。 我们可以使用 PIP 安装程序在系统中安装 transformers 库,如下所示 Python transformers 库的实现在下一节中,我们将讨论一些示例,来说明在 Python 中 transformers 库的实现。 示例 1了解 transformers 库的基本用法。 代码:对于推理,加载预训练模型和分词器 输出 代码的输出取决于正在使用的任务和特定的模型。示例使用 BERT 进行序列分类任务(类似于情感分析),原始的 logits(即模型的未归一化预测分数)包含在 outputs 对象中。 输出的解释如下 tensor([[ 1.2317, -0.4521]]) 此输出表明,模型已为二分类任务返回两个 logits。每个 logit 对应一个类别(例如,积极或消极情感)。
注意:您可以使用 softmax 函数将这些 logits 转换为概率示例代码 输出 tensor([[0.8718, 0.1282]]) 这意味着模型为第一个类别分配了 87.18% 的概率,为第二个类别分配了 12.82% 的概率,表明预测为积极情感。 说明 所示示例使用预训练的 BERT 模型进行情感分析,以及 Hugging Face transformers 库。首先,模型和分词器从 bert-base-uncased 检查点加载。 "This is a great product!" 是输入文本,分词器将其转换为模型可以理解的 token ID。 一旦文本被分词并格式化为张量,就通过 model(inputs) 语法传递给模型。模型返回 logits,它们是表示其每个类别预测的原始分数。 此模型用于二分类,预测一种积极或消极的态度。在应用 softmax 技术(将其转换为概率)之前,logits 表示模型对每个类别的确定程度。 为了从 logits 创建概率分布,使用了 Softmax。模型在此实例中预测积极情感,如分别为 87.18% 和 12.82% 的较高和较低概率所示。使用预训练模型,此示例显示了执行快速文本分类任务所需的代码量很少。 示例 2以下是使用 Hugging Face `transformers` 包,利用预训练的 GPT-2 模型进行文本生成的示例 对于文本补全、故事创作和对话构建等任务,自回归语言模型 GPT-2 非常适合。此示例说明了 GPT-2 的用法生成文本。GPT-2 预测将遵循特定模式的单词。 代码 输出 Once upon a time in a distant land, there lived a young princess who dreamed of exploring the world beyond her kingdom. One day, she packed her belongings and set off on an adventure, encountering magical creatures and mysterious lands along the way. 说明 此示例利用 Hugging Face transformers 库,通过预训练的 GPT-2 模型生成文本。GPT-2 是一个语言生成模型,它根据提供的上下文预测序列中的下一个单词。 如果使用 from_pretrained 加载分词器和模型,您就可以使用预训练的 GPT-2 模型。接下来,输入文本 "Once upon a time in a distant land" 被分词并作为张量返回给模型。 使用 model.generate 方法生成输入的延续,其中最大长度设置为 50 个 token。no_repeat_ngram_size 参数可确保避免重复序列。 生成后,通过跳过特殊 token 将输出序列解码回人类可读的文本。打印最终结果,展示了如何根据初始输入提示将 GPT-2 用于文本补全或讲故事等任务。 讨论在 Python 中使用 transformers 库的一些优点和缺点在下一节中,我们将讨论 transformers 库的主要优点以及一些缺点。 使用 transformers 库的一些优点
使用 transformers 库的一些缺点
结论总之,Hugging Face transformers 库对于开发人员和研究人员都非常易于访问,为文本生成、分类和翻译等自然语言处理任务提供了强大而灵活的工具集。用户可以通过更少的代码利用最先进的技术,这得益于其与 GPT-2 等预训练模型的集成,从而节省了时间和计算资源。像推理、内置分词以及与 TensorFlow 和 PyTorch 的互操作性等功能进一步增强了其适应性。 然而,该库仍然存在一些严重的问题。Transformer 需要大量内存和计算能力,尤其是 GPT-2 和 BERT 等大型设备。这种微调需要对模型和特定任务都有深入的了解,这可能具有挑战性。尽管如此,像 GPT-2 这样的自回归模型不太适合实时应用,因为它们可以较慢地生成长文本序列。 下一个主题重新抛出 Python 中的异常 |
简介 Python 中最有用的数据操作库之一是 Pandas。此外,它还提供了一系列结构化数据函数。实际上,特别是对于 DataFrame,人们通常只需要考虑某个列的唯一值。在本章中,我们将...
阅读 4 分钟
JAX Python 库简介 JAX 是 Python 中用于快速数值计算的工具箱。通过将 Python 函数转换为高效机器代码,`jit} 函数促进了即时 (JIT) 编译并允许自动微分——这对于机器学习和优化等任务很有用。它的能力是...
阅读 3 分钟
Streamlit 是一个 Python 库,它简化了创建 Web 应用程序的过程。面向数据科学家、机器学习工程师和开发人员,它能够快速轻松地创建以数据为中心的交互式应用程序。无需深入了解 Web 开发或前端技术。Streamlit 由于其极简主义而广受欢迎……
阅读 6 分钟
Python discard() 方法从集合中丢弃或删除元素。如果元素不存在,此方法不返回任何内容,甚至不报错。它接受一个参数,即要删除的元素。方法签名如下所示。签名 discard(elem) 参数 elem: 要删除的元素……
阅读1分钟
? 加密和解密简介 加密及其对应项解密在网络安全中起着重要作用,因为它们是保护敏感数据免遭未经授权访问的方法。这些方法对于防止通信、个人信息、金融交易甚至政府信息泄露至关重要...
7 分钟阅读
? 开发人员可以使用 Python 字典高效地存储和操作数据,Python 字典是高度通用的数据结构。当涉及到将这些数据持久化到外部文件时,一个流行的选择是逗号分隔值 (CSV) 格式。在许多电子表格程序中,CSV 文件简单明了,广泛...
阅读 6 分钟
? ISO 8601 是一种表示日期和时间的国际标准。它规定了日期的格式为 YYYY-MM-DD,并且可以选择包含时间和时区偏移量。在 Python 中,您可以使用 datetime 轻松获取 ISO 8601 格式的当前日期和时间...
阅读 3 分钟
HTTP 客户端简介 超文本传输协议(HTTP)是互联网上数据通信的基础。它是一个用于分布式、协作式、超媒体数据系统的应用约定。HTTP 是用于在服务器和程序之间传输超文本请求和数据的约定。在上下文中...
阅读 6 分钟
? 调试是开发中的一项主要活动,涉及定位、分析和可能从程序任何故障部分移除错误。调试的核心是使程序执行其应有的功能,产生正确、准确和可靠的输出。在此...中。
阅读 10 分钟
?使用 3D 直方图可视化信息有助于更深入地理解数据集中因素的分布和关系。使用 Python 的 Matplotlib 包,可以使用 Vigorous 工具(如 3D 直方图)来创建可视化。使用 mpl_toolkits.mplot3d 模块...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India