首页 > 其他分享 >Hugging Face-Transformers中的AutoModelForCausalLM 和 AutoTokenizer

Hugging Face-Transformers中的AutoModelForCausalLM 和 AutoTokenizer

时间:2024-02-14 21:44:53浏览次数:29  
标签:AutoTokenizer transformers 模型 AutoModelForCausalLM Transformers 文本 加载

AutoModelForCausalLM 和 AutoTokenizer 是Hugging Face的Transformers库中的两个类,用于处理自然语言处理(NLP)任务。

AutoModelForCausalLM 是用于因果语言建模的模型的自动类,它可以加载不同的预训练模型进行文本生成任务。

AutoTokenizer 用于加载与这些模型相对应的预训练分词器。

AutoTokenizer

AutoTokenizer 能够根据预训练模型自动选择正确的分词器。例如,如果你要加载一个GPT-2模型,AutoTokenizer 将会加载与GPT-2相对应的分词器。

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")

AutoModelForCausalLM

AutoModelForCausalLM 是一个便捷的类,它根据你提供的模型名称自动加载适合因果语言建模(如文本生成)的预训练模型。

from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("gpt2")

使用这些类进行文本生成

下面是如何使用这两个类进行文本生成的简单示例:

from transformers import AutoModelForCausalLM, AutoTokenizer

# 加载预训练的分词器和模型
tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")

# 编码输入文本,增加返回的张量
input_text = "The meaning of life is"
input_ids = tokenizer.encode(input_text, return_tensors='pt')

# 生成文本
output = model.generate(input_ids, max_length=50)

# 解码生成的文本
decoded_output = tokenizer.decode(output[0])

print(decoded_output)

在这个例子中,我们首先加载了GPT-2的分词器和模型。然后,我们将一些输入文本编码成模型可以理解的格式,并调用 generate 方法来生成文本。最后,我们将生成的张量解码成人类可读的文本。

确保在你的Python环境中安装了transformers库才能运行这些代码。如果还没有安装,可以使用pip安装:

pip install transformers

如果你在使用这些类时遇到了 ModuleNotFoundError,这通常意味着你的环境中没有安装 transformers 库。

通过上面的命令可以安装它。如果你在使用这些工具时遇到任何问题,Hugging Face提供了详细的文档和社区支持,可以帮助你解决问题。

标签:AutoTokenizer,transformers,模型,AutoModelForCausalLM,Transformers,文本,加载
From: https://www.cnblogs.com/tianqing/p/18015650

相关文章

  • transformers 系列
    Attention注意力机制【1】-入门篇注意力机制【2】-CV中的注意力机制注意力机制【3】-SelfAttention注意力机制【4】-多头注意力机制注意力机制【5】ScaledDot-ProductAttention和maskattention注意力机制【6】-transformer和PositionalEncodingBert【1】-基础 ......
  • Bottleneck Transformers for Visual Recognition
    BottleneckTransformersforVisualRecognition*Authors:[[AravindSrinivas]],[[Tsung-YiLin]],[[NikiParmar]],[[JonathonShlens]],[[PieterAbbeel]],[[AshishVaswani]]DOI:10.1109/CVPR46437.2021.01625初读印象comment::(BoTNet)通过在ResNet的最后三个......
  • Transformers实战——文本相似度
    文章目录一、改写文本分类1.导入相关包2.加载数据集3.划分数据集4.数据集预处理5.创建模型6.创建评估函数7.创建TrainingArguments8.创建Trainer9.模型训练10.模型评估11.模型预测二、交互/单塔模式1.导入相关包2.加载数据集3.划分数据集4.数据集预处理5.创建模型(区别)6.创建评估......
  • [论文阅读] Replacing softmax with ReLU in Vision Transformers
    Pretitle:ReplacingsoftmaxwithReLUinVisionTransformersaccepted:Arxiv2023paper:https://export.arxiv.org/abs/2309.08586code:None关键词:attention,parallelization阅读理由:GoogleDeepmind,标题挺有意思Idea序列缩放能缓解ReLU等激活函数在attention中替......
  • Retentive Networks Meet Vision Transformers, 视觉RetNet
    alias:Fan2023tags:RetNetrating:⭐share:falseptype:articleRMT:RetentiveNetworksMeetVisionTransformers初读印象comment::(RMT)RetentiveNetwork(RetNet)因其显式衰减机制而在自然语言处理中受到关注,但它不适合基于图像的任务。本文提出了保留性自我注意力......
  • LLM 学习笔记-transformers库的 PreTrainedModel 和 ModelOutput 到底是什么?
    闲言碎语我在刚开始接触huggingface(后简称hf)的transformers库时候感觉很冗杂,比如就模型而言,有PretrainedModel,AutoModel,还有各种ModelForClassification,ModelForCausalLM,AutoModelForPreTraining,AutoModelForCausalLM等等;不仅如此,还设计了多到让人头皮发麻的各......
  • Google Colab 现已支持直接使用 transformers 库
    GoogleColab,全称Colaboratory,是GoogleResearch团队开发的一款产品。在Colab中,任何人都可以通过浏览器编写和执行任意Python代码。它尤其适合机器学习、数据分析和教育目的。从技术上来说,Colab是一种托管式Jupyter笔记本服务。用户无需设置,就可以直接使用,同时还能获得......
  • 无依赖安装sentence-transformers
    安装pipinstall--no-cache-dirtorch==1.8.0+cpu-fhttps://download.pytorch.org/whl/torch_stable.htmlpipinstalltransformerstqdmnumpyscikit-learnscipynltksentencepiecepipinstall--no-depssentence-transformers可以使用pipdeptree查看依赖......
  • 自然语言处理预训练—— 来自Transformers的双向编码器表示(BERT)
    我们已经介绍了几种用于自然语言理解的词嵌入模型。在预训练之后,输出可以被认为是一个矩阵,其中每一行都是一个表示预定义词表中词的向量。事实上,这些词嵌入模型都是与上下文无关的。让我们先来说明这个性质。 从上下文无关到上下文敏感ELMo(EmbeddingsfromLanguageModels)是......
  • Cost Aggregation with Transformers for Sparse Correspondence-读书笔记
    CostAggregationwithTransformersforSparseCorrespondence:2022背景:该论文结合了SuperGlue和CATs,将里面所有手工制作的部分都代替了。将CATs引入该模型,用Transformer取代手工制作的成本聚合方法,用于具有自关注层全局接受域的可学习成本聚合。(PS:成本聚合:成本聚合是指在立......