欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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. 開發(fā)平臺(tái)使用Google的Colab平臺(tái),白嫖GPU加速;
3. 使用datasets模塊下載IMDB影評(píng)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。

transformers模塊簡(jiǎn)介

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

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

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

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

pip install datasets
pip install transformers

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

from datasets import load_dataset

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

接下來加載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.接下來需要指定訓(xùn)練的參數(shù),訓(xùn)練參數(shù)的指定使用transformers給出的接口類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的各種問題。加上Google提供的colab環(huán)境,數(shù)據(jù)下載和預(yù)訓(xùn)練模型下載都非??欤ㄗh讀者自行去煉丹。本文完整的案例下載

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

相關(guān)文章

  • Python繪圖模塊?turtle案例代碼

    Python繪圖模塊?turtle案例代碼

    turtle庫(kù)是Python語(yǔ)言中一個(gè)很流行的繪制圖像的函數(shù)庫(kù),想象一個(gè)小烏龜,在一個(gè)橫軸為x、縱軸為y的坐標(biāo)系原點(diǎn),(0,0)開始,它根據(jù)一組函數(shù)指令的控制,在這個(gè)平面坐標(biāo)系中移動(dòng),從而在它爬行的路徑上繪制了圖形,本文介紹Python繪圖模塊turtle,感興趣的朋友一起看看吧
    2023-01-01
  • 如何在Python?中使用?join()?函數(shù)把列表拼接成一個(gè)字符串

    如何在Python?中使用?join()?函數(shù)把列表拼接成一個(gè)字符串

    這篇文章主要介紹了如何在Python?中使用?join()?函數(shù)把列表拼接成一個(gè)字符串,文章圍繞?join()?函數(shù)的相關(guān)資料展開詳細(xì)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你有幫助
    2022-03-03
  • python模塊smtplib實(shí)現(xiàn)純文本郵件發(fā)送功能

    python模塊smtplib實(shí)現(xiàn)純文本郵件發(fā)送功能

    這篇文章主要為大家詳細(xì)介紹了python模塊smtplib實(shí)現(xiàn)純文本郵件發(fā)送功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 用Python展示動(dòng)態(tài)規(guī)則法用以解決重疊子問題的示例

    用Python展示動(dòng)態(tài)規(guī)則法用以解決重疊子問題的示例

    這篇文章主要介紹了用Python展示動(dòng)態(tài)規(guī)則法用以解決重疊子問題的一個(gè)棋盤游戲的示例,動(dòng)態(tài)規(guī)劃常常適用于有重疊子問題和最優(yōu)子結(jié)構(gòu)性質(zhì)的問題,且耗時(shí)間往往遠(yuǎn)少于樸素解法,需要的朋友可以參考下
    2015-04-04
  • Python中的Numpy 矩陣運(yùn)算

    Python中的Numpy 矩陣運(yùn)算

    這篇文章介紹Python中的Numpy 矩陣運(yùn)算,NumPy是Python的一種開源的數(shù)值計(jì)算擴(kuò)展.這種工具可用來存儲(chǔ)和處理大型矩陣,比Python自身的嵌套列表結(jié)構(gòu)要高效的多,支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù),下面詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • python和go語(yǔ)言的區(qū)別是什么

    python和go語(yǔ)言的區(qū)別是什么

    在本篇文章中小編給大家整理的是一篇關(guān)于go語(yǔ)言和python的區(qū)別點(diǎn),需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • 使用Keras訓(xùn)練好的.h5模型來測(cè)試一個(gè)實(shí)例

    使用Keras訓(xùn)練好的.h5模型來測(cè)試一個(gè)實(shí)例

    這篇文章主要介紹了使用Keras訓(xùn)練好的.h5模型來測(cè)試一個(gè)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Scrapy+Selenium自動(dòng)獲取cookie爬取網(wǎng)易云音樂個(gè)人喜愛歌單

    Scrapy+Selenium自動(dòng)獲取cookie爬取網(wǎng)易云音樂個(gè)人喜愛歌單

    這篇文章主要介紹了Scrapy+Selenium自動(dòng)獲取cookie爬取網(wǎng)易云音樂個(gè)人喜愛歌單,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • python操作 hbase 數(shù)據(jù)的方法

    python操作 hbase 數(shù)據(jù)的方法

    下面小編就為大家?guī)硪黄猵ython操作 hbase 數(shù)據(jù)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • python中字符串類型json操作的注意事項(xiàng)

    python中字符串類型json操作的注意事項(xiàng)

    這篇文章主要給大家介紹了python中字符串類型json操作的一些注意事項(xiàng),文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-05-05

最新評(píng)論