最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyTorch預(yù)訓(xùn)練Bert模型的示例

 更新時(shí)間:2020年11月17日 10:15:44   作者:BLACK  
這篇文章主要介紹了PyTorch預(yù)訓(xùn)練Bert模型的示例,幫助大家更好的進(jìn)行機(jī)器學(xué)習(xí),訓(xùn)練模型,感興趣的朋友可以了解下

本文介紹以下內(nèi)容:
1. 使用transformers框架做預(yù)訓(xùn)練的bert-base模型;
2. 開(kāi)發(fā)平臺(tái)使用Google的Colab平臺(tái),白嫖GPU加速;
3. 使用datasets模塊下載IMDB影評(píng)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。

transformers模塊簡(jiǎn)介

transformers框架為Huggingface開(kāi)源的深度學(xué)習(xí)框架,支持幾乎所有的Transformer架構(gòu)的預(yù)訓(xùn)練模型。使用非常的方便,本文基于此框架,嘗試一下預(yù)訓(xùn)練模型的使用,簡(jiǎn)單易用。

本來(lái)打算預(yù)訓(xùn)練bert-large模型,發(fā)現(xiàn)colab上GPU顯存不夠用,只能使用base版本了。打開(kāi)colab,并且設(shè)置好GPU加速,接下來(lái)開(kāi)始介紹代碼。

代碼實(shí)現(xiàn)

首先安裝數(shù)據(jù)下載模塊和transformers包。

pip install datasets
pip install transformers

使用datasets下載IMDB數(shù)據(jù),返回DatasetDict類(lèi)型的數(shù)據(jù).返回的數(shù)據(jù)是文本類(lèi)型,需要進(jìn)行編碼。下面會(huì)使用tokenizer進(jìn)行編碼。

from datasets import load_dataset

imdb = load_dataset('imdb')
print(imdb['train'][:3]) # 打印前3條訓(xùn)練數(shù)據(jù)

接下來(lái)加載tokenizer和模型.從transformers導(dǎo)入AutoModelForSequenceClassification, AutoTokenizer,創(chuàng)建模型和tokenizer。

from transformers import AutoModelForSequenceClassification, AutoTokenizer

model_checkpoint = "bert-base-uncased"

tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
model = AutoModelForSequenceClassification.from_pretrained(model_checkpoint, num_labels=2)

對(duì)原始數(shù)據(jù)進(jìn)行編碼,并且分批次(batch)

def preprocessing_func(examples):
  return tokenizer(examples['text'], 
           padding=True,
           truncation=True, max_length=300)

batch_size = 16

encoded_data = imdb.map(preprocessing_func, batched=True, batch_size=batch_size)

上面得到編碼數(shù)據(jù),每個(gè)批次設(shè)置為16.接下來(lái)需要指定訓(xùn)練的參數(shù),訓(xùn)練參數(shù)的指定使用transformers給出的接口類(lèi)TrainingArguments,模型的訓(xùn)練可以使用Trainer。

from transformers import Trainer, TrainingArguments

args = TrainingArguments(
  'out',
  per_device_train_batch_size=batch_size,
  per_device_eval_batch_size=batch_size,
  learning_rate=5e-5,
  evaluation_strategy='epoch',
  num_train_epochs=10,
  load_best_model_at_end=True,
)

trainer = Trainer(
  model,
  args=args,
  train_dataset=encoded_data['train'],
  eval_dataset=encoded_data['test'],
  tokenizer=tokenizer
)

訓(xùn)練模型使用trainer對(duì)象的train方法

trainer.train()

評(píng)估模型使用trainer對(duì)象的evaluate方法

trainer.evaluate()

總結(jié)

本文介紹了基于transformers框架實(shí)現(xiàn)的bert預(yù)訓(xùn)練模型,此框架提供了非常友好的接口,可以方便讀者嘗試各種預(yù)訓(xùn)練模型。同時(shí)datasets也提供了很多數(shù)據(jù)集,便于學(xué)習(xí)NLP的各種問(wèn)題。加上Google提供的colab環(huán)境,數(shù)據(jù)下載和預(yù)訓(xùn)練模型下載都非???,建議讀者自行去煉丹。本文完整的案例下載

以上就是PyTorch預(yù)訓(xùn)練Bert模型的示例的詳細(xì)內(nèi)容,更多關(guān)于PyTorch預(yù)訓(xùn)練Bert模型的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 快速解釋如何使用pandas的inplace參數(shù)的使用

    快速解釋如何使用pandas的inplace參數(shù)的使用

    這篇文章主要介紹了快速解釋如何使用pandas的inplace參數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python中請(qǐng)使用isinstance()判斷變量類(lèi)型

    Python中請(qǐng)使用isinstance()判斷變量類(lèi)型

    這篇文章主要介紹了Python中請(qǐng)使用isinstance()判斷變量類(lèi)型,本文先是給出了isinstance函數(shù)判斷變量類(lèi)型的例子,并對(duì)isinstance 和 type的區(qū)別做了講解,需要的朋友可以參考下
    2014-08-08
  • 一文教你利用Python制作一個(gè)C盤(pán)清理器

    一文教你利用Python制作一個(gè)C盤(pán)清理器

    關(guān)于電腦的垃圾清理操作,已經(jīng)有很多的成熟的軟件可以幫助我們完成C盤(pán)的垃圾清理操作,比如360等等。但是使用三方的清理軟件往往伴隨著很多的廣告,所以本文就來(lái)用Python制作一個(gè)C盤(pán)清理器吧
    2023-03-03
  • pip和pygal的安裝實(shí)例教程

    pip和pygal的安裝實(shí)例教程

    這篇文章主要介紹了pip和pygal的安裝實(shí)例教程,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python面向?qū)ο缶幊蘲epr方法示例詳解

    Python面向?qū)ο缶幊蘲epr方法示例詳解

    這篇文章主要介紹了Python面向?qū)ο缶幊蘲epr方法的示例詳解,文中附含詳細(xì)的代碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • 使用Python實(shí)現(xiàn)簡(jiǎn)單的服務(wù)器功能

    使用Python實(shí)現(xiàn)簡(jiǎn)單的服務(wù)器功能

    socket的使用并不局限于Python語(yǔ)言,你可以用C或者Java來(lái)寫(xiě)出同樣的socket服務(wù)器,而所有語(yǔ)言使用socket的方式都類(lèi)似(Apache就是使用C實(shí)現(xiàn)的服務(wù)器)
    2017-08-08
  • Python 文件讀寫(xiě)操作實(shí)例詳解

    Python 文件讀寫(xiě)操作實(shí)例詳解

    Python提供了必要的函數(shù)和方法進(jìn)行默認(rèn)情況下的文件基本操作。你可以用file對(duì)象做大部分的文件操作
    2014-03-03
  • python中try Except拋出異常的使用方式

    python中try Except拋出異常的使用方式

    這篇文章主要介紹了python中try Except拋出異常的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Django的restframework接口框架自定義返回?cái)?shù)據(jù)格式的示例詳解

    Django的restframework接口框架自定義返回?cái)?shù)據(jù)格式的示例詳解

    這篇文章主要介紹了Django的restframework接口框架自定義返回?cái)?shù)據(jù)格式,本文介紹了通過(guò)Django的restframework接口框架自定義Response返回對(duì)象來(lái)自定義返回?cái)?shù)據(jù)格式,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Django中使用Redis配置緩存的方法步驟

    Django中使用Redis配置緩存的方法步驟

    本文主要介紹了Django中使用Redis配置緩存的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評(píng)論

定南县| 博客| 霍林郭勒市| 景德镇市| 三河市| 南丹县| 定南县| 逊克县| 仁寿县| 洞头县| 宝兴县| 富平县| 贵港市| 马边| 襄城县| 霍邱县| 侯马市| 永登县| 井冈山市| 台北县| 仙桃市| 汉阴县| 中西区| 南木林县| 舟山市| 无为县| 邯郸市| 永平县| 奉新县| 洛川县| 拜泉县| 垫江县| 山西省| 建宁县| 高密市| 共和县| 灵山县| 常熟市| 平山县| 介休市| 南通市|