国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Hugging Face實(shí)戰(zhàn)-系列教程3:AutoModelForSequenceClassification文本2分類

這篇具有很好參考價(jià)值的文章主要介紹了Hugging Face實(shí)戰(zhàn)-系列教程3:AutoModelForSequenceClassification文本2分類。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??????Hugging Face 實(shí)戰(zhàn)系列 總目錄

有任何問題歡迎在下面留言
本篇文章的代碼運(yùn)行界面均在notebook中進(jìn)行
本篇文章配套的代碼資源已經(jīng)上傳

下篇內(nèi)容:
Hugging Face實(shí)戰(zhàn)-系列教程4:padding與attention_mask文章來源地址http://www.zghlxwxcb.cn/news/detail-702790.html

?輸出我們需要幾個(gè)輸出呢?比如說這個(gè)cls分類,我們做一個(gè)10分類,可以嗎?對每一個(gè)詞做10分類可以嗎?預(yù)測下一個(gè)詞是什么可以嗎?是不是也可以!

在我們的NLP任務(wù)中,相比圖像任務(wù)有分類有回歸,NLP有回歸這一說嗎?我們要做的所有任務(wù)都是分類,就是把分類做到哪兒而已,不管做什么都是分類。

比如我們剛剛導(dǎo)入的兩個(gè)英語句子,是對序列做情感分析,就是一個(gè)二分類,用序列做分類,你想導(dǎo)什么輸出頭,你就導(dǎo)入什么東西就可以了,簡不簡單?好簡單是不是,上代碼:

from transformers import AutoModelForSequenceClassification
checkpoint = "distilbert-base-uncased-finetuned-sst-2-english"
model = AutoModelForSequenceClassification.from_pretrained(checkpoint)
outputs = model(**inputs)
print(outputs.logits.shape)

導(dǎo)入一個(gè)序列分類的包,還是選擇checkpoint這個(gè)名字,選擇分詞器,導(dǎo)入模型,將模型打印一下:

DistilBertForSequenceClassification(
(distilbert): DistilBertModel(
(embeddings): Embeddings(
(word_embeddings): Embedding(30522, 768, padding_idx=0)
(position_embeddings): Embedding(512, 768)
(LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
(dropout): Dropout(p=0.1, inplace=False)
)
(transformer): Transformer(
(layer): ModuleList(
(0): TransformerBlock(
(attention): MultiHeadSelfAttention(
(dropout): Dropout(p=0.1, inplace=False)
(q_lin): Linear(in_features=768, out_features=768, bias=True)
(k_lin): Linear(in_features=768, out_features=768, bias=True)
(v_lin): Linear(in_features=768, out_features=768, bias=True)
(out_lin): Linear(in_features=768, out_features=768, bias=True)
)
(sa_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
(ffn): FFN(
(dropout): Dropout(p=0.1, inplace=False)
(lin1): Linear(in_features=768, out_features=3072, bias=True)
(lin2): Linear(in_features=3072, out_features=768, bias=True)
)
(output_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
)
(1): TransformerBlock(
(attention): MultiHeadSelfAttention(
(dropout): Dropout(p=0.1, inplace=False)
(q_lin): Linear(in_features=768, out_features=768, bias=True)
(k_lin): Linear(in_features=768, out_features=768, bias=True)
(v_lin): Linear(in_features=768, out_features=768, bias=True)
(out_lin): Linear(in_features=768, out_features=768, bias=True)
)
(sa_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
(ffn): FFN(
(dropout): Dropout(p=0.1, inplace=False)
(lin1): Linear(in_features=768, out_features=3072, bias=True)
(lin2): Linear(in_features=3072, out_features=768, bias=True)
)
(output_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
)
(2): TransformerBlock(
(attention): MultiHeadSelfAttention(
(dropout): Dropout(p=0.1, inplace=False)
(q_lin): Linear(in_features=768, out_features=768, bias=True)
(k_lin): Linear(in_features=768, out_features=768, bias=True)
(v_lin): Linear(in_features=768, out_features=768, bias=True)
(out_lin): Linear(in_features=768, out_features=768, bias=True)
)
(sa_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
(ffn): FFN(
(dropout): Dropout(p=0.1, inplace=False)
(lin1): Linear(in_features=768, out_features=3072, bias=True)
(lin2): Linear(in_features=3072, out_features=768, bias=True)
)
(output_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
)
(3): TransformerBlock(
(attention): MultiHeadSelfAttention(
(dropout): Dropout(p=0.1, inplace=False)
(q_lin): Linear(in_features=768, out_features=768, bias=True)
(k_lin): Linear(in_features=768, out_features=768, bias=True)
(v_lin): Linear(in_features=768, out_features=768, bias=True)
(out_lin): Linear(in_features=768, out_features=768, bias=True)
)
(sa_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
(ffn): FFN(
(dropout): Dropout(p=0.1, inplace=False)
(lin1): Linear(in_features=768, out_features=3072, bias=True)
(lin2): Linear(in_features=3072, out_features=768, bias=True)
)
(output_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
)
(4): TransformerBlock(
(attention): MultiHeadSelfAttention(
(dropout): Dropout(p=0.1, inplace=False)
(q_lin): Linear(in_features=768, out_features=768, bias=True)
(k_lin): Linear(in_features=768, out_features=768, bias=True)
(v_lin): Linear(in_features=768, out_features=768, bias=True)
(out_lin): Linear(in_features=768, out_features=768, bias=True)
)
(sa_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
(ffn): FFN(
(dropout): Dropout(p=0.1, inplace=False)
(lin1): Linear(in_features=768, out_features=3072, bias=True)
(lin2): Linear(in_features=3072, out_features=768, bias=True)
)
(output_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
)
(5): TransformerBlock(
(attention): MultiHeadSelfAttention(
(dropout): Dropout(p=0.1, inplace=False)
(q_lin): Linear(in_features=768, out_features=768, bias=True)
(k_lin): Linear(in_features=768, out_features=768, bias=True)
(v_lin): Linear(in_features=768, out_features=768, bias=True)
(out_lin): Linear(in_features=768, out_features=768, bias=True)
)
(sa_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
(ffn): FFN(
(dropout): Dropout(p=0.1, inplace=False)
(lin1): Linear(in_features=768, out_features=3072, bias=True)
(lin2): Linear(in_features=3072, out_features=768, bias=True)
)
(output_layer_norm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
)
)
)
)
(pre_classifier): Linear(in_features=768, out_features=768, bias=True)
(classifier): Linear(in_features=768, out_features=2, bias=True)
(dropout): Dropout(p=0.2, inplace=False)
)

看看多了什么?前面我們說對每一個(gè)詞生成一個(gè)768向量,最后就連了兩個(gè)全連接層:

(pre_classifier): Linear(in_features=768, out_features=768, bias=True)
(classifier): Linear(in_features=768, out_features=2, bias=True)
(dropout): Dropout(p=0.2, inplace=False)

這個(gè)logits就是輸出結(jié)果了:

print(outputs.logits.shape)
torch.Size([2, 2])

這個(gè)2*2表示的就是樣本為2(兩個(gè)英語句子),分類是2分類,但是我們需要得到最后的分類概率,再加上softmax:

import torch
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
print(predictions)

dim=-1就是沿著最后一個(gè)維度進(jìn)行計(jì)算,最后返回的就是概率值:

tensor([[1.5446e-02, 9.8455e-01], [9.9946e-01, 5.4418e-04]], grad_fn=SoftmaxBackward0)

概率知道了,類別的概率是什么呢?調(diào)一個(gè)內(nèi)置的id to label配置:

model.config.id2label
{0: 'NEGATIVE', 1: 'POSITIVE'}

也就是說,第一個(gè)句子負(fù)面情感的概率為1.54%,正面的概率情感為98.46%

下篇內(nèi)容:
Hugging Face實(shí)戰(zhàn)-系列教程4:padding與attention_mask

到了這里,關(guān)于Hugging Face實(shí)戰(zhàn)-系列教程3:AutoModelForSequenceClassification文本2分類的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微調(diào)Hugging Face中圖像分類模型

    微調(diào)Hugging Face中圖像分類模型

    本文主要針對 Hugging Face 平臺中的圖像分類模型,在自己數(shù)據(jù)集上進(jìn)行微調(diào),預(yù)訓(xùn)練模型為 Google 的 vit-base-patch16-224 模型,模型簡介頁面。 代碼運(yùn)行于kaggle平臺上,使用平臺免費(fèi)GPU,型號P100,筆記本地址,歡迎大家 copy edit 。 Github項(xiàng)目地址, Hugging Face 模型微調(diào)文檔 如果是在

    2024年02月09日
    瀏覽(48)
  • 官宣 | Hugging Face 中文博客正式發(fā)布!

    作者:Tiezhen、Adina、Luke Hugging Face 的中國社區(qū)成立已經(jīng)有五個(gè)月之久,我們也非常高興的看到 Hugging Face 相關(guān)的中文內(nèi)容在各個(gè)平臺廣受好評,我們也注意到,Hugging Face Hub 上有眾多國內(nèi)開發(fā)者們的創(chuàng)新和貢獻(xiàn)。因此,我們非常高興的宣布: 我們非常高興地向你介紹一個(gè)新的

    2023年04月21日
    瀏覽(24)
  • 手把手教你玩Hugging Face

    手把手教你玩Hugging Face

    Hugging Face起初是一家總部位于紐約的聊天機(jī)器人初創(chuàng)服務(wù)商,他們本來打算創(chuàng)業(yè)做聊天機(jī)器人,然后在github上開源了一個(gè)Transformers庫,雖然聊天機(jī)器人業(yè)務(wù)沒搞起來,但是他們的這個(gè)庫在機(jī)器學(xué)習(xí)社區(qū)迅速大火起來。目前已經(jīng)共享了超100,000個(gè)預(yù)訓(xùn)練模型,10,000個(gè)數(shù)據(jù)集,變成

    2024年02月06日
    瀏覽(27)
  • Hugging Face Transformers 萌新完全指南

    歡迎閱讀《Hugging Face Transformers 萌新完全指南》,本指南面向那些意欲了解有關(guān)如何使用開源 ML 的基本知識的人群。我們的目標(biāo)是揭開 Hugging Face Transformers 的神秘面紗及其工作原理,這么做不是為了把讀者變成機(jī)器學(xué)習(xí)從業(yè)者,而是讓為了讓讀者更好地理解 transformers 從而能

    2024年04月22日
    瀏覽(22)
  • kaggle、GitHub、gitee和hugging face

    四種網(wǎng)站比較

    2024年02月11日
    瀏覽(22)
  • 如何批量下載hugging face模型和數(shù)據(jù)集文件

    如何批量下載hugging face模型和數(shù)據(jù)集文件

    目前網(wǎng)上關(guān)于下載hugging face模型文件大多都是一個(gè)一個(gè)下載,無法做到批量下載,但有些模型或數(shù)據(jù)集包含文件太多,不適用一個(gè)一個(gè)下載。本文將會(huì)介紹如何使用git進(jìn)行批量下載。 由于Hugging Face的部分模型和數(shù)據(jù)集在國外服務(wù)器,不使用代理比較慢,所以要先配置git代理。

    2024年02月11日
    瀏覽(33)
  • 【NLP】如何使用Hugging-Face-Pipelines?

    ????????隨著最近開發(fā)的庫,執(zhí)行深度學(xué)習(xí)分析變得更加容易。其中一個(gè)庫是擁抱臉。Hugging Face?是一個(gè)平臺,可為 NLP 任務(wù)(如文本分類、情感分析等)提供預(yù)先訓(xùn)練的語言模型。 ????????本博客將引導(dǎo)您了解如何使用擁抱面部管道執(zhí)行 NLP 任務(wù)。以下是我們將在此博

    2024年02月16日
    瀏覽(21)
  • Llama 2 來襲 - 在 Hugging Face 上玩轉(zhuǎn)它

    Llama 2 來襲 - 在 Hugging Face 上玩轉(zhuǎn)它

    ?? 寶子們可以戳 閱讀原文 查看文中所有的外部鏈接喲! 今天,Meta 發(fā)布了 Llama 2,其包含了一系列最先進(jìn)的開放大語言模型,我們很高興能夠?qū)⑵淙婕扇?Hugging Face,并全力支持其發(fā)布。Llama 2 的社區(qū)許可證相當(dāng)寬松,且可商用。其代碼、預(yù)訓(xùn)練模型和微調(diào)模型均于今天

    2024年02月15日
    瀏覽(21)
  • Hugging Face中的Accelerate:讓訓(xùn)練速度飛起來

    Hugging Face中的Accelerate:讓訓(xùn)練速度飛起來

    ??覺得內(nèi)容不錯(cuò)的話,歡迎點(diǎn)贊收藏加關(guān)注??????,后續(xù)會(huì)繼續(xù)輸入更多優(yōu)質(zhì)內(nèi)容?? ??有問題歡迎大家加關(guān)注私戳或者評論(包括但不限于NLP算法相關(guān),linux學(xué)習(xí)相關(guān),讀研讀博相關(guān)......)?? (封面圖由文心一格生成) Hugging Face是人工智能領(lǐng)域中一個(gè)非常受歡迎的開

    2024年02月14日
    瀏覽(20)
  • 如何安裝和使用 Hugging Face Unity API

    如何安裝和使用 Hugging Face Unity API

    Hugging Face Unity API 提供了一個(gè)簡單易用的接口,允許開發(fā)者在自己的 Unity 項(xiàng)目中方便地訪問和使用 Hugging Face AI 模型,已集成到 Hugging Face Inference API 中。本文將詳細(xì)介紹 API 的安裝步驟和使用方法。 打開您的 Unity 項(xiàng)目 導(dǎo)航至菜單欄的 Window - Package Manager 在彈出窗口中,點(diǎn)擊

    2024年02月11日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包