【Text_classification】 PaddlePaddle框架下出错调整到运行的实验和记录
使用的是Paddle框架2.0版本
網(wǎng)頁: https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.1/demo/text_classification
也可以在其平臺上利用公開數(shù)據(jù)集跑一跑:
網(wǎng)頁:https://aistudio.baidu.com/aistudio/projectdetail/2390146?contributionType=1
使用的預訓練框架是:Ernie-tiny
下面記錄我自己的實驗數(shù)據(jù):
1. 記錄預訓練模型下載位置
下載的模型存儲到這里了!! !
因為模型一般會定義一個位置提前加載預訓練模型,這樣就不會重復下載了! 只需要掃描并加載!
2. 語法出錯合集
問題一:header: 是不是有第一行的標簽!!!
是不是包含了頭介紹:
就是是不是有第一行的標簽!!!
問題二: KeyError
說明在讀入數(shù)據(jù)時就出現(xiàn)了問題
造成這個問題的原因一般是沒有該key!
仔細看下面的代碼可以看出:
record[‘label’] = slef.label_map[example.label] !
再看看你的label定義:
這是text不是label! 不出錯才怪呢!
是這個函數(shù)有問題:
在該函數(shù)中,第一個先讀的label! 第二讀的text!
而自己的數(shù)據(jù)集第一列是text! 所以導致錯誤!
我們在base_NLP_dataset中將源碼調(diào)整為label 是第一列! text文本是第二列! 但是這樣是有問題的!
原因一: 我們pycharm中改正可能在linux下沒有改正
原因二: 這樣改正還是不行的!
解決方法: 修改自己的數(shù)據(jù)集,將兩列互換!
下面是實現(xiàn)方法:
兩列互換 DF yyds
import pandas
import pandas as pd
實現(xiàn)行列互換 DF yyds
path = "/home/wxx/progressfiles/project_pc_NLP/Texts_Classification/demodataset/dev.txt" data = pandas.read_table(path)df = pd.DataFrame(data)print(df.head()) print(df["text_a"])df[['label', 'text_a']] = df[['text_a', 'label']] df.columns = ['label', 'text_a'] print(df.head()) df.to_csv("/home/wxx/progressfiles/project_pc_NLP/Texts_Classification/demodataset/dev2.txt", sep="\t", index=0)再次運行就沒有問題了!
總結(jié)
一定要自己看出錯信息!
要遵循源代碼的輸入輸出格式! 看看它怎么讀的! 明白數(shù)據(jù)的變化形式
問題三: 沒有l(wèi)oaded from 。。。
3. 實驗結(jié)果
第一次實驗: 完全按照教程
效果不理想
第二次實驗: 增大epoches、增大batch_size
這里是接著訓練的:
這里訓練了15次后,準確率提升了
第三次實驗:再次訓練35次!! 這次共訓練了50次
第四次訓練:直接拉滿到200 epochs
上面都是過擬合了,這里才是最正確的
這里才是最關鍵的!!上面的都沒有用到這里!
你在做的時候一定要看看是不是過擬合了!
如果損失很小,準確率極其高,那么就是過擬合了,這樣的模型是不具有泛化能力的!
你用在測試文件中,效果肯定很差!!
采用最佳的:
取5次最佳:
4. 實驗總結(jié):
4.1 過擬合! 看看自己損失是不是太小! 準確率是不是太高了??
這樣下去是過擬合的! 趕緊停下去尋找問題!
4.2 Paddle中model.pdparams才是我們的模型!! 寫路徑時要精確到它
4.3 最佳模型就是最佳模型,而且最終準確率也不會變
5. 在這里學到的其它知識:
https://blog.csdn.net/qq_35222729/article/details/120419015
總結(jié)
以上是生活随笔為你收集整理的【Text_classification】 PaddlePaddle框架下出错调整到运行的实验和记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bootstrap获取弹框数据_Boot
- 下一篇: 测试服务器性能常用算法,服务器性能剖析(