99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

手把手教你搭建NLP經(jīng)典模型

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:語(yǔ)雀 ? 作者:云不見 ? 2021-02-04 16:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上一篇我們講到了最簡(jiǎn)單的詞向量表示方法——共現(xiàn)矩陣(沒(méi)有看的朋友可以點(diǎn)擊這里 小白跟學(xué)系列之手把手搭建NLP經(jīng)典模型(含代碼) 回顧一下?。?/p>

共現(xiàn)矩陣簡(jiǎn)單是簡(jiǎn)單,但是有很嚴(yán)重的問(wèn)題。

作者強(qiáng)調(diào),自己動(dòng)手的經(jīng)驗(yàn)、花時(shí)間思考的經(jīng)驗(yàn),都是無(wú)法復(fù)制的。(所以,聽話,要自己嘗試敲1?敲代碼噢!

addc1862-603f-11eb-8b86-12bb97331649.jpg

目錄

共現(xiàn)矩陣存在的問(wèn)題:無(wú)意義詞干擾

余弦相似度:表示兩個(gè)詞向量的相似度

基于計(jì)數(shù)統(tǒng)計(jì)的方法改進(jìn)

PMI矩陣(排除無(wú)意義詞干擾)

PPMI矩陣(排除負(fù)數(shù))

SVD降維(解決維度爆炸和矩陣稀疏)

總結(jié)(用計(jì)數(shù)統(tǒng)計(jì)的方法表示詞向量的步驟)

共現(xiàn)矩陣存在的問(wèn)題

!很多常用的無(wú)意義詞(比如“the car”)在文中出現(xiàn)次數(shù)太多的話,共現(xiàn)矩陣會(huì)認(rèn)為“the”和“car”強(qiáng)相關(guān),這是不合理的!

那怎么表示兩個(gè)向量之間的相似度呢?

余弦相似度

設(shè)有x = (x1,x2,x3,。..,xn)和y = (y1,y2,y3,。..,yn) 兩個(gè)向量,它們之間的余弦相似度如下式所示。

b11aa778-603f-11eb-8b86-12bb97331649.png

分子為內(nèi)積,分母為L(zhǎng)2范數(shù)。(范數(shù)表示向量的大小,L2 范數(shù)即向量各個(gè)元素的平方和的平方根。)

式 (2.1) 的要點(diǎn)是先對(duì)向量進(jìn)行正規(guī)化,再求它們的內(nèi)積。

余弦相似度:兩個(gè)向量在多大程度上指向同一方向。也就是說(shuō),余弦相似度越靠近1,兩個(gè)詞越相似;余弦相似度越靠近0,兩個(gè)詞越?jīng)]什么關(guān)系;

現(xiàn)在,我們來(lái)代碼實(shí)現(xiàn)余弦相似度。

def cos_similarity(x, y): # x 和 y 是 NumPy 數(shù)組 nx = x / np.sqrt(np.sum(x**2)) # x的正規(guī)化 ny = y / np.sqrt(np.sum(y**2)) # y的正規(guī)化 return np.dot(nx, ny)

為了防止除數(shù)為0(比如0向量),所以要給分母加個(gè)微小值eps=10^-8

修改后的余弦相似度的實(shí)現(xiàn)如下所示(common/util.py)。

def cos_similarity(x, y, eps=1e-8): nx = x / (np.sqrt(np.sum(x ** 2)) + eps) ny = y / (np.sqrt(np.sum(y ** 2)) + eps) return np.dot(nx, ny)

在絕大多數(shù)情況下,加上eps不會(huì)對(duì)最終的計(jì)算結(jié)果造成影響,因?yàn)楦鶕?jù)浮點(diǎn)數(shù)的舍入誤差,這個(gè)微小值會(huì)被向量的范數(shù)“吸收”掉。而當(dāng)向量的范數(shù)為 0 時(shí),這個(gè)微小值可以防止“除數(shù)為 0”的錯(cuò)誤。

利用這個(gè)cos_similarity函數(shù),可以求得單詞向量間的相似度。我們嘗試求you 和I的相似度(ch02/similarity.py)。

import syssys.path.append(‘。.’)from common.util import preprocess, create_co_matrix, cos_similarity# 引入文本預(yù)處理,創(chuàng)建共現(xiàn)矩陣和計(jì)算余弦相似度的函數(shù) text = ‘You say goodbye and I say hello.’corpus, word_to_id, id_to_word = preprocess(text) # 文本預(yù)處理vocab_size = len(word_to_id)C = create_co_matrix(corpus, vocab_size) # 創(chuàng)建共現(xiàn)矩陣 c0 = C[word_to_id[‘you’]] # you的詞向量c1 = C[word_to_id[‘i’]] # i的詞向量print(cos_similarity(c0, c1)) # 計(jì)算余弦相似度# 0.7071067691154799

從上面的結(jié)果可知,you 和 i 的余弦相似度是 0.70 。 . 。,接近1,即存在相似性。

說(shuō)完單詞向量之間的相似度可以余弦相似度表示,用共現(xiàn)矩陣的元素表示兩個(gè)單詞同時(shí)出現(xiàn)的次數(shù)。而很多常用的無(wú)意義詞(比如“the car”)在文中出現(xiàn)次數(shù)太多的話,共現(xiàn)矩陣會(huì)認(rèn)為“the”和“car”強(qiáng)相關(guān),這是不合理的!

所以共現(xiàn)矩陣中無(wú)意義詞的干擾怎么解決呢?

基于計(jì)數(shù)的方法改進(jìn)

接下來(lái)將對(duì)共現(xiàn)矩陣進(jìn)行改進(jìn),并使用更實(shí)用的語(yǔ)料庫(kù),獲得單詞“真實(shí)的”分布式表示。

點(diǎn)互信息

引入點(diǎn)互信息(Pointwise Mutual Information,PMI)這一指標(biāo)。即考慮單詞單獨(dú)出現(xiàn)的次數(shù)。無(wú)意義詞(“the”)單獨(dú)出現(xiàn)次數(shù)肯定多,這點(diǎn)要考慮進(jìn)去。

對(duì)于隨機(jī)變量 x 和 y,它們的 PMI 定義如下:

b7e5d302-603f-11eb-8b86-12bb97331649.png

P(x) 表示 x 發(fā)生的概率,

P(y) 表示 y 發(fā)生的概率,

P(x, y) 表示 x 和 y 同時(shí)發(fā)生的概率。

PMI 的值越高,表明相關(guān)性越強(qiáng)。

例如設(shè)X = “the”,Y = “car”

P(“the”) = “the”出現(xiàn)的次數(shù)

P(“car”) = “car”出現(xiàn)的次數(shù)

P(“the car”) = “the car”共同出現(xiàn)的次數(shù)

“the”單獨(dú)出現(xiàn)的次數(shù)多,所以P(“the”)分母也就大,也就抵消掉了the的作用啦。

怎么表示概率呢?簡(jiǎn)單的方式就是用共現(xiàn)矩陣來(lái)表示概率,因此也能表示出PMI。也就是用單詞出現(xiàn)的次數(shù)表示概率。

bb80439e-603f-11eb-8b86-12bb97331649.png

N:語(yǔ)料單詞總數(shù);

C(X):X出現(xiàn)的次數(shù) ;

C(X,Y):X,Y共現(xiàn)的次數(shù);

舉個(gè)栗子:

這里假設(shè)有一個(gè)文本語(yǔ)料庫(kù)。單詞總數(shù)量(N)為 10 000,the 出現(xiàn) 100 次,car 出現(xiàn) 20 次,drive 出現(xiàn) 10 次,the 和 car 共現(xiàn) 10 次,car 和 drive 共現(xiàn) 5 次。 這時(shí),如果從共現(xiàn)次數(shù)的角度來(lái)看,the 和 car 的相關(guān)性更強(qiáng)。 而如果從 PMI 的角度來(lái)看,結(jié)果是怎樣的呢?

bc151866-603f-11eb-8b86-12bb97331649.png

結(jié)果表明,在使用 PMI 的情況下,drive 和 car 具有更強(qiáng)的相關(guān)性。這是我們想要的結(jié)果。之所以出現(xiàn)這個(gè)結(jié)果,是因?yàn)槲覀兛紤]了單詞單獨(dú)出現(xiàn)的次數(shù)。因?yàn)?the 本身出現(xiàn)得多,所以 PMI的得分被拉低了。

但也存在一個(gè)問(wèn)題。

當(dāng)兩個(gè)單詞的共現(xiàn)次數(shù)為 0 時(shí),log20 = ?∞。為了解決這個(gè)問(wèn)題,實(shí)際上我們會(huì)使用正的點(diǎn)互信息(Positive PMI,PPMI)。

解決辦法

用PPMI (Positive PMI,正的點(diǎn)互信息)來(lái)表示詞之間的相關(guān)性

正的點(diǎn)互信息

PPMI(x,y) = max(0, PMI(x,y)) ,即當(dāng)PMI為負(fù)數(shù)的時(shí)候,視作0。

所以,PPMI構(gòu)建的矩陣要優(yōu)于共現(xiàn)矩陣(因?yàn)榕懦讼駎he等無(wú)意義詞的干擾呀)。所以PPMI是更好的詞向量。

實(shí)現(xiàn)將共現(xiàn)矩陣轉(zhuǎn)化為PPMI 矩陣的函數(shù)為 ppmi(C, verbose=False, eps=1e-8)。這里不再贅述,我們只需要調(diào)用,需要看源代碼的去(common/util.py)

如何調(diào)用使用它呢?可以像下面這樣進(jìn)行實(shí)現(xiàn)(ch02/ppmi.py)。

import syssys.path.append(‘。.’)import numpy as npfrom common.util import preprocess, create_co_matrix, cos_similarity,ppmi text = ‘You say goodbye and I say hello.’corpus, word_to_id, id_to_word = preprocess(text) # 文本預(yù)處理vocab_size = len(word_to_id)C = create_co_matrix(corpus, vocab_size) # 創(chuàng)建共現(xiàn)矩陣W = ppmi(C) # 將共現(xiàn)矩陣 ——》 PPMI 矩陣np.set_printoptions(precision=3) # 設(shè)置有效位數(shù)為3位print(‘covariance matrix’)print(C)print(‘-’*50)print(‘PPMI’)print(W)

運(yùn)行該文件,可以得到:

covariance matrix[[0 1 0 0 0 0 0] [1 0 1 0 1 1 0] [0 1 0 1 0 0 0] [0 0 1 0 1 0 0] [0 1 0 1 0 0 0] [0 1 0 0 0 0 1] [0 0 0 0 0 1 0]]--------------------------------------------------PPMI[[ 0. 1.807 0. 0. 0. 0. 0. ] [ 1.807 0. 0.807 0. 0.807 0.807 0. ] [ 0. 0.807 0. 1.807 0. 0. 0. ] [ 0. 0. 1.807 0. 1.807 0. 0. ] [ 0. 0.807 0. 1.807 0. 0. 0. ] [ 0. 0.807 0. 0. 0. 0. 2.807] [ 0. 0. 0. 0. 0. 2.807 0. ]]

這樣一來(lái),我們就成功的將共現(xiàn)矩陣轉(zhuǎn)化為了 PPMI 矩陣?yán)玻搏@取了一個(gè)更好的單詞向量!

但是PPMI矩陣也存在很明顯的問(wèn)題

維度爆炸

矩陣稀疏

如果語(yǔ)料庫(kù)的詞匯量達(dá)到10 萬(wàn),則詞向量的維數(shù)也同樣達(dá)到 10 萬(wàn)。處理 10 萬(wàn)維向量是不現(xiàn)實(shí)的。

另外,我們可以看得出該矩陣很多元素都是 0。這表明向量中的絕大多數(shù)元素并不重要,也就是說(shuō),每個(gè)元素?fù)碛械摹爸匾浴焙艿?。這樣的向量也容易受到噪聲影響,穩(wěn)健性差。

對(duì)于這些問(wèn)題,一個(gè)常見的方法是向量降維。

解決辦法:降維

降維:減少向量維度(盡量保留重要信息)。發(fā)現(xiàn)重要的軸/分布廣的軸,將二維數(shù)據(jù)變一維數(shù)據(jù)。

目的:從稀疏矩陣中找到重要的軸,用更少的維度去表示詞向量。

bd2a02b6-603f-11eb-8b86-12bb97331649.png

降維的方法有很多,這里我們使用奇異值分解(Singular Value Decomposition,SVD),如下式所示:

bdd95cf2-603f-11eb-8b86-12bb97331649.png

SVD 將任意的矩陣 X 分解為 U、S、V 這 3 個(gè)矩陣的乘積,其中 U 和 V 是列向量彼此正交的正交矩陣,S 是除了對(duì)角線元素以外其余元素均為 0 的對(duì)角矩陣。

be4dc39e-603f-11eb-8b86-12bb97331649.png

在式 (2.7) 中,U 是正交矩陣。這個(gè)正交矩陣構(gòu)成了一些空間中的基軸(基向量),我們可以將矩陣 U 作為“單詞空間”。

S 是對(duì)角矩陣,奇異值在對(duì)角線上降序排列。

簡(jiǎn)單地說(shuō),我們可以將奇異值視為“對(duì)應(yīng)的基軸”的重要性。這樣一來(lái),如圖 2-10 所示,減少非重要元素就成為可能。

bee17328-603f-11eb-8b86-12bb97331649.png

如圖 2-10 所示,矩陣 S 的奇異值小,對(duì)應(yīng)的基軸的重要性低,因此,可以通過(guò)去除矩陣 U 中的多余的列向量來(lái)近似原始矩陣。用我們正在處理的“單詞的 PPMI 矩陣”來(lái)說(shuō)明的話,矩陣 X 的各行包含對(duì)應(yīng)的單詞 ID的單詞向量,這些單詞向量使用降維后的矩陣 U‘表示。

想從數(shù)學(xué)角度仔細(xì)理解SVD的讀者,請(qǐng)參考文獻(xiàn)[20] 等。

接下來(lái)將用代碼實(shí)現(xiàn) SVD ,這里可以使用 NumPy 的linalg模塊中的 svd 方法。linalg 是 linear algebra(線性代數(shù))的簡(jiǎn)稱。下面,我們創(chuàng)建一個(gè)共現(xiàn)矩陣,將其轉(zhuǎn)化為 PPMI 矩陣,然后對(duì)其進(jìn)行 SVD降維(h02/count_method_small.py)。

import syssys.path.append(’。.‘)import numpy as npimport matplotlib.pyplot as pltfrom common.util import preprocess, create_co_matrix, ppmi text = ’You say goodbye and I say hello.‘corpus, word_to_id, id_to_word = preprocess(text)vocab_size = len(id_to_word)C = create_co_matrix(corpus, vocab_size, window_size=1)W = ppmi(C) # SVDU, S, V = np.linalg.svd(W) # 變量U已成為密集向量

SVD 執(zhí)行完畢。上面的變量 U 包含經(jīng)過(guò) SVD 轉(zhuǎn)化的密集向量表示(稀疏的反義詞,就是沒(méi)那么多0啦)?,F(xiàn)在,我們來(lái)看一下它的內(nèi)容。單詞 ID 為 0 的單詞向量you如下。

print(C[0]) # 共現(xiàn)矩陣(簡(jiǎn)單的用次數(shù)來(lái)表示)# [0 1 0 0 0 0 0] print(W[0]) # PPMI矩陣(用PPMI指標(biāo)(概率)表示)# [ 0. 1.807 0. 0. 0. 0. 0. ] print(U[0]) # 做了SVD降維# [ 3.409e-01 -1.110e-16 -1.205e-01 -4.441e-16 0.000e+00 -9.323e-01# 2.226e-16]

如上所示,原先的稀疏向量 W[0] 經(jīng)過(guò) SVD 被轉(zhuǎn)化成了密集向量 U[0]。

但SVD同樣也有缺點(diǎn):速度太慢

加快方法:采用Truncated SVD(截去奇異值較小的部分,實(shí)現(xiàn)高速化)

如果矩陣大小是 N,SVD 的計(jì)算的復(fù)雜度將達(dá)到 O(N3)。這意味著 SVD 需要與 N 的立方成比例的計(jì)算量?,F(xiàn)實(shí)中這樣的計(jì)算量是做不到的,所以往往會(huì)使用 Truncated SVD等更快的方法。

Truncated SVD 通過(guò)截去(truncated)奇異值較小的部分,從而實(shí)現(xiàn)高速化。下面,我們將使用 sklearn庫(kù)的 Truncated SVD。

以上都是用的一句話語(yǔ)料來(lái)舉的例子,接下來(lái)要來(lái)“真的”了!

使用真的更大的語(yǔ)料庫(kù):Penn Treebank(PTB數(shù)據(jù)集)

PTB數(shù)據(jù)集

這個(gè) PTB 語(yǔ)料庫(kù)是以文本文件的形式提供的,與原始的 PTB 的文章相比,多了若干預(yù)處理,包括將稀有單詞替換成特殊字符 《unk》( unknown 的簡(jiǎn)稱),將具體的數(shù)字替換成“N”等。

作為參考,圖 2-12 給出了 PTB 語(yǔ)料庫(kù)的部分內(nèi)容。一行保存一個(gè)句子。

bf7f7226-603f-11eb-8b86-12bb97331649.png

這里,我們還要將所有句子連接起來(lái),在每個(gè)句子的結(jié)尾處插入一個(gè)特殊字符 《eos》(end of sentence 的簡(jiǎn)稱)。

接下來(lái)我們將代碼實(shí)現(xiàn)如何使用PTB數(shù)據(jù)集。

import syssys.path.append(’。.‘)from dataset import ptb corpus, word_to_id, id_to_word = ptb.load_data(’train‘) # 訓(xùn)練用數(shù)據(jù) print(’corpus size:‘, len(corpus))print(’corpus[:30]:‘, corpus[:30])print()print(’id_to_word[0]:‘, id_to_word[0])print(’id_to_word[1]:‘, id_to_word[1])print(’id_to_word[2]:‘, id_to_word[2])print()print(“word_to_id[’car‘]:”, word_to_id[’car‘])print(“word_to_id[’happy‘]:”, word_to_id[’happy‘])print(“word_to_id[’lexus‘]:”, word_to_id[’lexus‘])

結(jié)果如下所示:

corpus size: 929589 # 數(shù)據(jù)集中詞總數(shù)corpus[:30]: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 20 21 22 23 24 25 26 27 28 29] id_to_word[0]: aerid_to_word[1]: banknoteid_to_word[2]: berlitz word_to_id[’car‘]: 3856word_to_id[’happy‘]: 4428word_to_id[’lexus‘]: 7426

和之前一樣,corpus 中保存了單詞 ID 列表,id_to_word 是將單詞 ID 轉(zhuǎn)化為單詞的字典,word_to_id 是將單詞轉(zhuǎn)化為單詞 ID 的字典。

如上面的代碼所示,使用 ptb.load_data() 加載數(shù)據(jù)。此時(shí),指定參數(shù) ’train‘、’test‘ 和 ’valid‘ 中的一個(gè),它們分別對(duì)應(yīng)訓(xùn)練用數(shù)據(jù)、測(cè)試用數(shù)據(jù)和驗(yàn)證用數(shù)據(jù)中的一個(gè)。以上就是 ptb.py 文件的使用方法。

加載PTB數(shù)據(jù)集的代碼 :dataset/ptb.py

使用PTB數(shù)據(jù)集的例子:ch2/show_ptb.py

基于計(jì)數(shù)(統(tǒng)計(jì))的方法利用PTB數(shù)據(jù)集的代碼:ch02/count_method_big.py

總結(jié)

詞向量表示總共介紹了:

基于同義詞詞典的方法

基于計(jì)數(shù)統(tǒng)計(jì)的方法

同義詞詞典需要人工定義詞之間的相關(guān)性,很費(fèi)力;

使用計(jì)數(shù)統(tǒng)計(jì)的方法可以自動(dòng)的獲取詞向量表示。

用計(jì)數(shù)統(tǒng)計(jì)的方法表示詞向量的步驟:

使用語(yǔ)料庫(kù)(使用語(yǔ)料庫(kù)對(duì)單詞進(jìn)行向量化是主流方法)

計(jì)算上下文單詞共同出現(xiàn)的次數(shù)(共現(xiàn)矩陣)

轉(zhuǎn)化為PPMI矩陣(為了減少無(wú)意義詞的干擾)

基于SVD降維(解決維度爆炸和矩陣稀疏問(wèn)題,以提高穩(wěn)健性)

從而獲得了每個(gè)單詞的分布式表示,也就是詞向量表示,每個(gè)單詞表示為固定長(zhǎng)度的密集向量。(單詞的分布式表示=詞向量表示)

在單詞的向量空間中,含義上接近的單詞距離上也更接近。

使用語(yǔ)料庫(kù)對(duì)單詞進(jìn)行向量化是主流方法。

其實(shí)在海量數(shù)據(jù)的今天,基于計(jì)數(shù)統(tǒng)計(jì)的方法難以處理大規(guī)模的數(shù)據(jù)集,統(tǒng)計(jì)方法是需要一次性統(tǒng)計(jì)整個(gè)語(yǔ)料庫(kù),需要一次性處理全部的數(shù)據(jù),而SVD降維的復(fù)雜度又太大,于是將推出——基于推理的方法,也就是基于神經(jīng)網(wǎng)絡(luò)的方法。

神經(jīng)網(wǎng)絡(luò)一次只需要處理一個(gè)mini-batch的數(shù)據(jù)進(jìn)行學(xué)習(xí),并且反復(fù)更新網(wǎng)絡(luò)權(quán)重。

基于推理(神經(jīng)網(wǎng)絡(luò))的方法,最著名的就是Word2Vec。下一次我們會(huì)詳細(xì)的介紹它的優(yōu)點(diǎn)缺點(diǎn)以及使用方法噢!

原文標(biāo)題:小白跟學(xué)系列之手把手搭建NLP經(jīng)典模型-2(含代碼)

文章出處:【微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103719
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    490

    瀏覽量

    22631

原文標(biāo)題:小白跟學(xué)系列之手把手搭建NLP經(jīng)典模型-2(含代碼)

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RT-Thread Nano硬核移植指南:手把手實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    VGLite是NXP提供的輕量級(jí)2D圖形API,本文將手把手帶你實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配RT-Thread。文章分為上、下兩篇,將手把手教您移植。上篇對(duì)RT-ThreadNano內(nèi)核與Finsh組件進(jìn)行移植,下篇?jiǎng)t教您改寫SDK中的VGLite代碼以將其適配到RT-T
    的頭像 發(fā)表于 07-17 14:40 ?1018次閱讀
    RT-Thread Nano硬核移植指南:<b class='flag-5'>手把手</b>實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    【教程】零基礎(chǔ)!手把手教你使用STM32F4進(jìn)行E22-400T22S編程通信

    零基礎(chǔ)搭建本次實(shí)驗(yàn)將會(huì)使用到的軟件是Keil和STM32CubeMX,沒(méi)有這兩個(gè)軟件沒(méi)有請(qǐng)?jiān)诰W(wǎng)上自行下載。本章節(jié)零基礎(chǔ)手把手教會(huì)你搭建最快捷、最簡(jiǎn)單的STM32代碼
    的頭像 發(fā)表于 07-03 19:32 ?260次閱讀
    【教程】零基礎(chǔ)!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>使用STM32F4進(jìn)行E22-400T22S編程通信

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)

    在高并發(fā)網(wǎng)絡(luò)服務(wù)場(chǎng)景中,Linux內(nèi)核的默認(rèn)網(wǎng)絡(luò)參數(shù)往往無(wú)法滿足需求,導(dǎo)致性能瓶頸、連接超時(shí)甚至服務(wù)崩潰。本文基于真實(shí)案例分析,從參數(shù)解讀、問(wèn)題診斷到優(yōu)化實(shí)踐,手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù),支撐百萬(wàn)級(jí)并發(fā)連接。
    的頭像 發(fā)表于 05-29 09:21 ?222次閱讀

    正點(diǎn)原子Linux系列全新視頻教程來(lái)啦!手把手教你MP257開發(fā)板,讓您輕松入門!

    正點(diǎn)原子Linux系列全新視頻教程來(lái)啦!手把手教你MP257開發(fā)板,讓您輕松入門! 一、視頻觀看 正點(diǎn)原子手把手教你學(xué)STM32MP257-第1期:https://www.bilib
    發(fā)表于 05-16 10:42

    手把手教程:基于RT-Thread在單片機(jī)上部署大模型AI終端

    ;HelloWorld"到"Hey,AI"記得剛?cè)胄袝r(shí),點(diǎn)亮一個(gè)LED燈都激動(dòng)半天。如今,我們的嵌入式設(shè)備已經(jīng)可以直接和AI大模型對(duì)話了!這不僅是技術(shù)的進(jìn)步,更是開發(fā)思路的革命。今天,我將手把手教大家如何在開發(fā)板上接
    的頭像 發(fā)表于 04-11 18:19 ?655次閱讀
    <b class='flag-5'>手把手</b>教程:基于RT-Thread在單片機(jī)上部署大<b class='flag-5'>模型</b>AI終端

    GPU顯卡維修避坑指南:手把手教你識(shí)別行業(yè)套路!

    的今天,高端顯卡維修已成“暴利暗流”。虛高報(bào)價(jià)、偷換配件、技術(shù)陷阱……用戶稍有不慎,輕則損失數(shù)萬(wàn),重則設(shè)備報(bào)廢。今天小助手將揭露行業(yè)亂象,手把手教你識(shí)別套路,并推薦
    的頭像 發(fā)表于 04-02 20:31 ?1001次閱讀
    GPU顯卡維修避坑指南:<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>識(shí)別行業(yè)套路!

    《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》

    《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》是一本為普通人量身打造的AI開發(fā)指南。它不僅深入淺出地講解了Agent的概念和發(fā)展,還通過(guò)詳細(xì)的工具介紹和實(shí)戰(zhàn)案例,幫助讀者快速掌握
    發(fā)表于 03-18 12:03

    手把手教你做星閃無(wú)人機(jī)—KaihongOS星閃無(wú)人機(jī)開發(fā)實(shí)戰(zhàn)》系列課程課件匯總

    為助力開發(fā)者迅速掌握『KaihongOS輕量系統(tǒng)開發(fā)技術(shù)』與『星閃無(wú)線通信技術(shù)』,實(shí)現(xiàn)快速上手與深度體驗(yàn),“開鴻Developer社區(qū)”攜手“電子發(fā)燒友”再次聯(lián)合推出《手把手教你做星閃無(wú)人機(jī)
    發(fā)表于 03-18 10:33

    手把手教你做PC-KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)》課件匯總

    ”攜手“電子發(fā)燒友”聯(lián)合推出了 《KaihongOS手把手系列直播課程》,該系列課程以實(shí)際產(chǎn)品為案例,詳細(xì)講解每個(gè)產(chǎn)品的開發(fā)全流程。 此次首發(fā)內(nèi)容是《手把手教你做PC-KaihongOS筆記本電腦開發(fā)
    發(fā)表于 03-18 10:25

    【第二章 模型與設(shè)備連接】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云

    【第二章 模型與設(shè)備連接】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云玩過(guò)物聯(lián)網(wǎng)的朋友們都知道,我們?cè)诮佑|各大主流云平臺(tái)時(shí)會(huì)知道物模型的概念。 本實(shí)驗(yàn)就是針對(duì)原子云中
    發(fā)表于 03-12 09:27

    開發(fā)者集結(jié)!《手把手教你做星閃無(wú)人機(jī)》第二課開講啦!

    開發(fā)者集結(jié)!《手把手教你做星閃無(wú)人機(jī)》第二課開講啦!
    的頭像 發(fā)表于 02-17 19:40 ?375次閱讀
    開發(fā)者集結(jié)!《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無(wú)人機(jī)》第二課開講啦!

    手把手教你做星閃無(wú)人機(jī)》即將開播,鎖定15日晚七點(diǎn)!

    ”再次聯(lián)合推出《手把手教你做星閃無(wú)人機(jī)—KaihongOS星閃無(wú)人機(jī)開發(fā)實(shí)戰(zhàn)》系列課程,該課程與《手把手教你做PC—KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)》同步并行,
    的頭像 發(fā)表于 01-13 19:42 ?527次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無(wú)人機(jī)》即將開播,鎖定15日晚七點(diǎn)!

    手把手教你做PC》課程即將啟動(dòng)!深開鴻引領(lǐng)探索KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)

    ”攜手“電子發(fā)燒友”聯(lián)合推出了《KaihongOS手把手系列直播課程》,該系列課程以實(shí)際產(chǎn)品為案例,詳細(xì)講解每個(gè)產(chǎn)品的開發(fā)全流程。此次首發(fā)內(nèi)容是《手把手教你做PC-
    的頭像 發(fā)表于 01-06 20:46 ?588次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》課程即將啟動(dòng)!深開鴻引領(lǐng)探索KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)

    Air780E模組LuatOS開發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

    本文要說(shuō)的是低功耗4G模組Air780E的LuatOS開發(fā)實(shí)戰(zhàn),我將手把手教你搞定數(shù)據(jù)打包解包。
    的頭像 發(fā)表于 12-03 11:17 ?642次閱讀
    Air780E模組LuatOS開發(fā)實(shí)戰(zhàn) —— <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搞定數(shù)據(jù)打包解包

    手把手教你通過(guò)宏集物聯(lián)網(wǎng)工控屏&amp;網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為TCP協(xié)議并傳輸?shù)接脩?/a>

    手把手教你通過(guò)宏集物聯(lián)網(wǎng)工控屏&網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為TCP協(xié)議并傳輸?shù)接脩艚K端
    的頭像 發(fā)表于 08-15 13:29 ?1120次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通過(guò)宏集物聯(lián)網(wǎng)工控屏&amp;網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為TCP協(xié)議并傳輸?shù)接脩? />    </a>
</div>                    </div>
                    <div   id=