如何将拥抱脸模型用于 NLP音频分类和计算机视觉

Posted vvoennvv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将拥抱脸模型用于 NLP音频分类和计算机视觉相关的知识,希望对你有一定的参考价值。

在将 Hugging Face 用于 NLP、音频分类或计算机视觉时,用户需要知道 Hugging Face 为每种项目类型提供了什么

那些花时间研究音频分类 项目、NLP和/或计算机视觉等模型和框架的人可能想知道如何将 Hugging Face 用于其中一些模型。Hugging Face 是一个平台,它既可以作为使用数据模型的社区,也可以作为数据科学模型和信息的中心。

在将 Hugging Face 用于NLP音频分类计算机视觉时,用户需要知道 Hugging Face 必须为每种项目类型提供什么,而不是其他选项。用户还需要更深入地了解 Hugging Face 模型是什么以及如何将 Hugging Face 用于他们自己的数据科学项目。

Hugging Face 模型只是一个使用 Hugging Face 社区提供的框架的机器学习(或 AI)项目。其中许多模型都是现成的,可以立即使用,主要是在 PyTorch 框架内。PyTorch 本身是 Python 编码框架的迭代,更直接适用于数据科学。许多 Hugging Face 模型是在 PyTorch 及其兄弟框架中构建的,用户需要提供的只是数据。更重要的是,Hugging Face 旨在让任何想要学习的人都可以访问数据科学项目。这意味着他们一直在努力寻找社区协作项目的方法,使它们更易于使用和实施,并为数据科学社区中的难题找到创造性的解决方案。

通过使用 Hugging Face,用户将能够快速轻松地开始他们的NLP计算机视觉音频分类 项目。

如何使用拥抱脸

Hugging Face 使用准备好用于预训练模型的管道,无论是使用 Hugging Face 进行NLP还是其他。这使得启动速度更快,因为用户可以直接使用他们已经知道可以满足他们需求的模型,至少在某种程度上可以满足他们的需求。

通过围绕 Hugging Face 构建的社区,用户可以获得大量资源和个人专业知识,以确保他们的 Hugging Face 模型用于音频分类和其他项目顺利进行。

什么是 NLP 的拥抱脸?

NLP的Hugging Face 模型是 Hugging Face 社区的生计。Hugging Face 最初是几年前作为聊天应用开始的。Hugging Face 社区的诞生源于希望能够更清晰有效地进行沟通和联系。如果用户想为自然语言处理构建机器学习模型,那么 Hugging Face 就是一个完美的解决方案。

事实上,Hugging Face 最近几个月做出了额外的努力,将 BERT(来自 Transformers 的双向编码器表示)的强大功能引入其模型和平台。BERT 是谷歌最初开发的一种技术,用于更有效和高效的自然语言处理框架。这使得在NLP中使用 Hugging Face 模型的飞跃要好得多,因为可以访问这些顶级框架和模型,这些框架和模型在很大程度上是即插即用的。

什么是自然语言处理?

如前所述,NLP代表自然语言处理。NLP 的核心是技术与人之间的交流。NLP 模型用于帮助 AI 模型和其他技术 1) 识别人类语音,2) 准确理解所说的内容,以及 3) 根据上下文解释所说的内容。 

我们的许多日常设备都使用自然语言处理,并且该技术正在不断改进。NLP的限制仅由从事NLP机器学习模型工作的人的创造力和想象力决定。NLP的Hugging Face 模型为希望在技术和使用它们的人之间更清晰有效地沟通的数据科学家和开发人员提供了更多的自由和灵活性。

什么是音频分类的拥抱脸?

正如 Hugging Face 可以通过识别和理解人类语音用于 NLP 一样,也有 Hugging Face 模型用于音频分类Hugging Face 使用的许多可用机器学习模型框架与NLP使用的相似。 

两者之间的主要区别在于,一个是尝试识别语音,另一个是寻找更大的可能声音数组,尽管在数据搜索中更具体。 

分离特定频率和音高的能力是音频分类的决定因素。Hugging Face 模型将在很大程度上允许解析出其中的一些数据,但它需要对机器学习模型进行更深入的训练,然后才能正常使用。

例如,如果一个机器学习模型正在接受训练以从现代摇滚中识别出什么是经典摇滚,那么它将需要听到大量的歌曲和乐器样本。然而,如果它试图识别一种动物的不同叫声,那么这是可以使用的数据的较小子集。

什么是音频分类?

如前所述,音频分类是机器学习模型处理、理解和解释音频输入的能力。用最简单的术语来说,这就是Shazam 识别正在播放的歌曲的方式。

它倾听、理解并解释输入的音频数据的含义,然后得出结论。不过,音频分类远远超出了识别收音机正在播放的歌曲的范围。这项技术已被用于预测和分析环境和气象信息,帮助生物学家识别和了解更多关于某些动物物种的信息,甚至在工业综合体中,当系统出现故障时提醒业主和工人。

什么是计算机视觉的拥抱脸?

有一种特殊的 Hugging Face 模型用于计算机视觉,称为 HugsVision。随着 Hugging Face 如此专注于让各种人都能访问数据科学,计算机视觉已成为 Hugging Face 的主要关注点之一。具体来说,HugsVision 非常适合医疗保健行业,但也可用于其他行业和用例。

在 Hugging Face 社区中,有许多人正在努力开发更可靠的技术,以“看到”周围的世界。然后可以训练这些机器学习模型以提醒当局,根据当前数据生成预测,甚至根据观察到的数据决定采取适当的行动。其中一些比其他的更先进,但计算机视觉 有许多用例,并且在 Hugging Face 社区和平台中引起了极大的兴趣。

什么是计算机视觉?

如上所述,计算机视觉是机器学习模型能够接收视觉数据并从该数据中得出结论的能力。有时,这只不过是生成或创建预期结果和预测的能力,例如确定土木工程师何时可以使用高交通时间,而其他时候,它能够根据轮作预测天气各种各样的视觉数据输入。

无论哪种方式,计算机视觉 都对社区和行业拥有巨大的潜力。

Hugging Face 引以为豪的是,它是可用的最易于访问且易于上手的机器学习框架。它允许 Hugging Face 模型用于音频分类计算机视觉NLP 以及大量其他框架。 

如何从拥抱脸应用预训练的变压器模型?

【中文标题】如何从拥抱脸应用预训练的变压器模型?【英文标题】:How to apply a pretrained transformer model from huggingface? 【发布时间】:2021-08-16 19:31:19 【问题描述】:

我有兴趣将 Huggingface 的预训练模型用于命名实体识别 (NER) 任务,而无需进一步训练或测试模型。

在model page of HuggingFace上,模型复用的唯一信息如下:

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")
model = AutoModel.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")

我尝试了以下代码,但我得到的是张量输出,而不是每个命名实体的类标签。

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")
model = AutoModel.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")

text = "my text for named entity recognition here."

input_ids = torch.tensor(tokenizer.encode(text, padding=True, truncation=True,max_length=50, add_special_tokens = True)).unsqueeze(0)

with torch.no_grad():
  output = model(input_ids, output_attentions=True)

关于如何将模型应用于 NER 文本的任何建议?

【问题讨论】:

【参考方案1】:

您正在寻找命名实体识别pipeline(令牌分类):

from transformers import AutoTokenizer, pipeline,  AutoModelForTokenClassification
tokenizer = AutoTokenizer.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")
model = AutoModelForTokenClassification.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")
nerpipeline = pipeline('ner', model=model, tokenizer=tokenizer)
text = "my text for named entity recognition here."
nerpipeline(text)

输出:

['word': 'my',
  'score': 0.5209763050079346,
  'entity': 'LABEL_0',
  'index': 1,
  'start': 0,
  'end': 2,
 'word': 'text',
  'score': 0.5161970257759094,
  'entity': 'LABEL_0',
  'index': 2,
  'start': 3,
  'end': 7,
 'word': 'for',
  'score': 0.5297629237174988,
  'entity': 'LABEL_1',
  'index': 3,
  'start': 8,
  'end': 11,
 'word': 'named',
  'score': 0.5258920788764954,
  'entity': 'LABEL_1',
  'index': 4,
  'start': 12,
  'end': 17,
 'word': 'entity',
  'score': 0.5415489673614502,
  'entity': 'LABEL_1',
  'index': 5,
  'start': 18,
  'end': 24,
 'word': 'recognition',
  'score': 0.5396601557731628,
  'entity': 'LABEL_1',
  'index': 6,
  'start': 25,
  'end': 36,
 'word': 'here',
  'score': 0.5165827870368958,
  'entity': 'LABEL_0',
  'index': 7,
  'start': 37,
  'end': 41,
 'word': '.',
  'score': 0.5266348123550415,
  'entity': 'LABEL_0',
  'index': 8,
  'start': 41,
  'end': 42]

请注意,您需要使用AutoModelForTokenClassification 而不是AutoModel,并且并非所有模型都具有经过训练的令牌分类头(即您将获得令牌分类头的随机权重)。

【讨论】:

以上是关于如何将拥抱脸模型用于 NLP音频分类和计算机视觉的主要内容,如果未能解决你的问题,请参考以下文章

CNN如何用于NLP任务?一文简述文本分类任务的7个模型

如何从拥抱脸应用预训练的变压器模型?

入门 | CNN也能用于NLP任务,一文简述文本分类任务的7个模型

带有张量流的拥抱脸转换器将两个文件保存为模型权重

如何从拥抱脸使用 deberta 模型并使用 .compile() 和 . summary() 用它

如何从拥抱脸下载模型?