14.AI搭建preparationのBERT預訓練模型進行文本分類

一、回顧:

  1. 對深度學習框架Python2.0進行自然語言處理有了一個基礎性的認識
  2. 注意力模型編碼器(encoder_layer,用于分類的全連接層dense_layer),拋棄了傳統的循環神經網絡和卷積神經網絡,通過注意力模型將任意位置的兩個單詞的距離轉換成1
  3. 編碼器層和全連接層分開,利用訓練好的模型作為編碼器獨立使用,并且根據具體項目接上不同的尾端,以便在運訓練好的編碼器上通過微調進行訓

二、BERT簡介:?

Bidirectional? Encoder Representation From transformer,替代了 word embedding 的新型文字編碼方案,BERT 實際有多個encoder block疊加而成,通過使用注意力模型的多個層次來獲得文本的特征提取

三、基本架構與應用

1.MLM:隨機從輸入語料中這閉掉一些單詞,然后通過上下文預測該單詞

2.NSP:判斷句子B是否句子A的上下文

四、使用HUGGING FACE獲取BERT與訓練模型

1.安裝

pip install transformers

2.引用?

import torch
from transformers import BertTokenizer
from transformers import BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
pretrain_model = BertModel.from_pretrained("bert-base-chinese")

3. 運用代碼_獲取對應文本的TOKEN

3.1('bert-base-chinese'模型)

import torch
from transformers import BertTokenizer
from transformers import BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
pretrain_model = BertModel.from_pretrained("bert-base-chinese")tokens = tokenizer.encode("床前明月光",max_length=12,padding="max_length",truncation=True)
print(tokens)
print("----------------------")
print(tokenizer("床前明月光",max_length=12,padding="max_length",truncation=True))
print("----------------------")
tokens = torch.tensor([tokens]).int()
print(pretrain_model(tokens))

?3.2("uer/gpt2-chinese-ancient"模型)

import torch
from transformers import BertTokenizer,GPT2Model
model_name = "uer/gpt2-chinese-ancient"
tokenizer = BertTokenizer.from_pretrained(model_name)
pretrain_model = GPT2Model.from_pretrained(model_name)tokens = tokenizer.encode("春眠不覺曉",max_length=12,padding="max_length",truncation=True)
print(tokens)
print("----------------------")
print(tokenizer("春眠不覺曉",max_length=12,padding="max_length",truncation=True))
print("----------------------")tokens = torch.tensor([tokens]).int()
print(pretrain_model(tokens))

4.進行文本分類

數據準備>數據處理>模型設計>模型訓練

get_data:

model:

?train:

?finally,隨著訓練,準確率會越來越高

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82652.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82652.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82652.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OD 算法題 B卷【最長公共前綴】

文章目錄 最長公共前綴 最長公共前綴 編寫一個函數來查找字符串數組 中的最長公共前綴,如果不存在公共前綴,返回字符串’Zero’字符串長度范圍【2,1000】,字符串中字符長度范圍為【1,126】 示例1 輸入: [“flower”, “flow”, …

pycharm F2 修改文件名 修改快捷鍵

菜單:File-> Setting, Keymap中搜索 Rename, 其中,有 Refactor-> Rename,右鍵添加快捷鍵,F2,刪除原有快捷鍵就可以了。

WEB安全--SQL注入--bypass技巧2

繼之前文章的補充: WEB安全--SQL注入--bypass技巧_sql注入過濾空格-CSDN博客 Q1:發現sql注入的時間盲注時,如果時間盲注的函數都被過濾了,怎么辦? 除了找其他函數替換、編碼等方式,還有以下方式繞過&…

自定義事件wpf

// 自定義控件 public class MyCustomControl : Control { public static readonly RoutedEvent MyCustomEvent EventManager.RegisterRoutedEvent( "MyCustom", RoutingStrategy.Bubbling, typeof(RoutedEventHandler), typeof(MyCustomControl) ); public event R…

【匯編逆向系列】一、無參數的函數調用- RSP,EAX寄存器,全局變量,INT類型和MOV,INC,SHL指令

給出一段簡單的匯編 no_params_function:0000000000000000: 40 57 push rdi0000000000000002: 8B 05 00 00 00 00 mov eax,dword ptr [global_counter]0000000000000008: FF C0 inc eax000000000000000A: 89 05 00 00 00 0…

知識蒸餾:從模型輸出到深層理解

1. 概念闡釋: 還記得上次說的“老師教你畫畫,不只教‘貓’,還教‘像狗像樹葉’的細微感覺”嗎?那是最初的蒸餾。 后來大家發現,老師不僅僅通過“最后畫出來像什么”來教你。 有時候,老師是教你“他畫畫時,哪里用了力氣,哪里畫得特別認真”(這叫基于特征的蒸餾,學習…

vue-18(使用 Vuex 插件實現高級功能)

使用 Vuex 插件實現高級功能 Vuex 插件提供了一種強大的方式來擴展 Vuex 存儲的功能。它們為存儲的變更過程提供了鉤子,允許你攔截變更、執行副作用以及添加自定義邏輯。本章將探討如何利用 Vuex 插件實現持久化、日志記錄和時間旅行調試等高級功能。我們將深入研究…

【Java】CopyOnWriteArrayList

一,概述 CopyOnWriteArrayList作為List接口的實現之一,它區分于ArrayList在于它是線程安全的。如它名字一樣,所有的寫操作均復制了原數組的值,雖說代價較大,但讀多寫少的環境下,是可接受的。筆者在此簡單看…

【高等數學】函數項級數

目錄 函數項級數收斂域的定義收斂域的判定方法常見冪級數展開(麥克勞林級數)冪級數的應用 傅里葉級數傅里葉級數的基本概念傅里葉級數的主要性質奇偶函數的簡化周期延拓奇延拓偶延拓 函數項級數 函數項級數是指由一系列函數構成的無窮級數,形…

基于cornerstone3D的dicom影像瀏覽器 第二十八章 LabelTool文字標記,L標記,R標記及標記樣式設置

文章目錄 前言一、L標記、R標記二、修改工具樣式1. 樣式的四種級別2. 導入annotation3. 示例1 - 修改toolGroup中的樣式4. 示例2 - 修改viewport中的樣式 三、可配置樣式 前言 cornerstone3D 中的文字標記工具LabelTool,在添加文字標記時會彈出對話框讓用戶輸入文字…

PPT轉圖片拼貼工具 v4.3

軟件介紹 這個軟件就是將PPT文件轉換為圖片并且拼接起來。 效果展示 支持導入文件和支持導入文件夾,也支持手動輸入文件/文件夾路徑 軟件界面 這一次提供了源碼和開箱即用版本,exe就是直接用就可以了。 軟件源碼 import os import re import sys …

新版NANO下載燒錄過程

一、序言 搭建 Jetson 系列產品燒錄系統的環境需要在電腦主機上安裝 Ubuntu 系統。此處使用 18.04 LTS。 二、環境搭建 1、安裝庫 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建環境的過程需要這個應用庫來將某些 NVIDIA 軟件組件安裝到 Je…

神經網絡-Day45

目錄 一、tensorboard的基本操作1.1 發展歷史1.2 tensorboard的原理 二、tensorboard實戰2.1 cifar-10 MLP實戰2.2 cifar-10 CNN實戰 在神經網絡訓練中,為了幫助理解,借用了很多的組件,比如訓練進度條、可視化的loss下降曲線、權重分布圖&…

設計模式之單例模式(二): 心得體會

設計模式之單例模式(一)-CSDN博客 目錄 1.背景 2.分析 2.1.違背面向對象設計原則,導致職責混亂 2.2.全局狀態泛濫,引發依賴與耦合災難 2.3.多線程場景下風險放大,性能與穩定性受損 2.4.測試與維護難度指數級上升 2.5.違背 “最小知識原…

windows10 php報錯

參考這個, 實際解決了問題, 主要是repair c 然后重啟 【BUG】PHP Warning: ‘C:\\WINDOWS\\SYSTEM32\\VCRUNTIME140.dll‘ 14.0 is not compatible with this PHP bu_php warning: vcruntime140.dll 14.0 is not compat-CSDN博客

GPU顯存的作用和如何選擇

核心定義與作用 首先,顯存的全稱是顯示內存,英文是Video RAM或VRAM,是顯卡上的專用內存。 顯存的主要作用是用來存儲圖形處理單元(GPU)需要處理的數據,比如紋理、頂點數據、幀緩沖區等。 數據中轉站 GPU…

從零開始:用Tkinter打造你的第一個Python桌面應用

目錄 一、界面搭建:像搭積木一樣組合控件 二、菜單系統:給應用裝上“控制中樞” 三、事件驅動:讓界面“活”起來 四、進階技巧:打造專業級體驗 五、部署發布:讓作品觸手可及 六、學習路徑建議 在Python生態中,Tkinter就像一把瑞士軍刀,它沒有花哨的特效,卻能快速…

Unity基礎-Mathf相關

Unity基礎-Mathf相關 一、Mathf數學工具 概述 Mathf是Unity中封裝好用于數學計算的工具結構體,提供了豐富的數學計算方法,特別適用于游戲開發場景。它是Unity開發中最常用的數學工具之一,能夠幫助我們處理各種數學計算和插值運算。 Mathf…

Android Studio 之基礎代碼解析

1、 onCreate 在 Android 開發中,MainActivity 作為應用的入口 Activity,其 onCreate() 方法是生命周期中第一個且最重要的回調方法,負責初始化核心組件和界面。以下是其核心要點: 一、基本定義與作用 調用時機 當 Activity 首次…

AIGC圖像去噪:核心原理、算法實現與深度學習模型詳解

1. 背景概述 1.1 目標與范疇 在AIGC(人工智能生成內容) 的技術生態系統中,圖像生成模型(如生成對抗網絡GAN、擴散模型Diffusion Model)所產出的視覺內容,其質量常因訓練數據中的固有瑕疵、生成過程中的隨機擾動或數據傳輸期間的信號衰減而呈現出不同程度的退化。因此,…