有粉丝留言说想利用AI挖掘开源信息,现在你看到的这类文章就是我利用AI抓取开源信息帮助我生成的文章,是的,我压根看不懂一个代码~如果你对这类AI自动化程序感兴趣,可以看文末加入我的星球有3天试用,我晚点会把资料分享在里面,因为这个和跨境的日常工作不大,我就不录视频了,这个纯属我当初无聊学的,今天本来要录制新视频的,但是还在参加分享会议中,所以明天吧~周末学习不打烊~


Hugging Face Transformers Library

在当今的人工智能领域,各种神经网络模型已经帮助我们解决了许多复杂的问题。但是,如果你能直接访问数千种预训练模型,应用到文本、图像和音频等多种领域,将会有多大的便利呢?今天,让我们一同探索 Hugging Face 提供的开源项目——? Transformers,让最新、最先进的机器学习技术触手可及。


项目简介

? Transformers 提供数千种预训练模型,这些模型可以应用于不同的模态(如文本、视觉和音频),执行各种任务:

在文本任务中的应用

  • 文本分类:这类任务可以识别文本所属的类别,常见于情感分析等应用。
  • 信息抽取:从非结构化文本中抓取有价值的信息。
  • 问答系统:通过输入问题找到最合适的答案,适用于智能客服等场景。
  • 文本摘要:将长文压缩为简洁的几句话,帮助快速理解内容。
  • 翻译:支持超过100种语言之间的互译。
  • 文本生成:从短语生成长篇文章,已在新闻撰写等领域有广泛应用。

在图像任务中的应用

  • 图像分类:识别图像中主要的内容,例如是否包含某种物体。
  • 目标检测:在图像中标出指定的物体并计算其位置。
  • 图像分割:将图像划分为有意义的部分,例如背景和前景的分离。

在音频任务中的应用

  • 语音识别:将语音转换为文本,常见于语音助手。
  • 音频分类:根据音频内容进行分类,如音乐类型的识别。

此外,Transformer 模型还支持 多模态任务,如从扫描文件中提取信息、视频分类和视觉问答等。

快速上手

为了让用户能够最快速地使用这些强大的预训练模型,? Transformers 提供了便捷的 API。例如,我们可以通过下列代码快速实现情感分析:

from transformers import pipeline

# 为情感分析准备一个流水线
classifier = pipeline('sentiment-analysis')
# 对输入文本进行情感分析
classifier('We are very happy to introduce pipeline to the transformers repository.')

该代码会将预训练模型下载并缓存,然后对输入的文本进行评估,返回结果是“积极”的概率。

应用示例

在自然语言处理(NLP)领域:

  • BERT 掩码字完成:示例链接
  • Electra 实体识别:示例链接
  • Mistral 文本生成:示例链接

在计算机视觉领域:

  • ViT 图像分类:示例链接
  • DETR 目标检测:示例链接
  • SegFormer 语义分割:示例链接

在音频领域:

  • Whisper 自动语音识别:示例链接
  • Wav2Vec2 关键词识别:示例链接
  • AST 音频分类:示例链接

此外,在多模态任务中:

  • TAPAS 表格问答:示例链接
  • ViLT 视觉问答:示例链接
  • LLaVa 图像描述:示例链接

Hugging Face 提供的平台无疑简化了模型的使用过程,你可以轻松实现从数据预处理、模型训练到推理等全过程。

更详细的示例

例如,我们可以轻松实现图像中的目标检测:

import requests
from PIL import Image
from transformers import pipeline

# 下载包含可爱猫咪的图片
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
image_data = requests.get(url, stream=True).raw
image = Image.open(image_data)

# 为目标检测准备一个流水线
object_detector = pipeline('object-detection')
object_detector(image)

运行上述代码后,我们将会得到图片中检测到的目标以及它们的置信度分数和边界框。如下图所示,左边是原始图像,右边是模型的预测结果:

检测结果

项目架构

在架构设计上,? Transformers 支持通过三大热门深度学习库——Jax、PyTorch 和 TensorFlow 无缝切换。不论你使用哪种框架进行模型训练,都可以用另一种框架进行推理。这无疑极大地增加了灵活性和效率。

要想快速上手 ? Transformers 提供的预训练模型,只需要几行代码:

对于 PyTorch:

from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased")
model = AutoModel.from_pretrained("google-bert/bert-base-uncased")

inputs = tokenizer("Hello world!", return_tensors="pt")
outputs = model(**inputs)

对于 TensorFlow:

from transformers import AutoTokenizer, TFAutoModel

tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased")
model = TFAutoModel.from_pretrained("google-bert/bert-base-uncased")

inputs = tokenizer("Hello world!", return_tensors="tf")
outputs = model(**inputs)

在这段代码中,tokenizer 负责对输入文本进行预处理,而 model 则接收处理后的输入进行推理。

安装指南

使用 pip 安装

您可以通过以下命令安装 Transformers:

pip install transformers

使用 conda 安装

或者选择使用 conda:

conda install conda-forge::transformers

环境要求

? Transformers 需要 Python 3.8 以上版本,并且需要至少安装 Flax、PyTorch 或 TensorFlow 其中之一。

总结

Hugging Face 开发的 ? Transformers 项目为机器学习和深度学习领域带来了便捷和高效。无论你是研究人员、开发人员,还是学生,都能够利用这个工具箱轻松实现各种复杂任务。同时,丰富的预训练模型库为不同应用场景提供了强大的支持。

如果你正寻找一个可靠、易用并且功能强大的工具来加速你的机器学习项目,不妨尝试一下 ? Transformers,相信你会有惊喜的发现。


希望这篇介绍能帮助你更好地了解 ? Transformers 的强大功能并开始你的机器学习之旅!



点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

服务号

订阅号

备注【拉群】

商务洽谈

微信联系站长

发表
评论
立即
投稿
返回
顶部