Downloads · 30 days
0
Cardist/My_AGNEWS
My_AGNEWS is a machine learning model from Cardist. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
<style .step { color: CCBBFF; } .title { color: FF5511; font-size:30px; } .second-title { color: FFCC22; font-size:25px; } </style
Downloads · 30 days
0
Access
Public
Updated Sep 4, 2023
Repo size
—
Likes
0
Public
Click a slice to open those files.
.md3.5 KB · 70%
From the Hugging Face model README
建議pipenv建置虛擬環境
pip install pipenv (先安裝pipenv)
pipenv shell (建置虛擬環境)
pipenv install (已有Pipfile檔案則可直接使用以下指令安裝所需套件)
如果上述安裝完成則不需以下分別安裝,總之需確保你已經安裝以下套件:
使用以下指令透過pipenv安裝相依套件:
pipenv install pandas numpy torch transformers scikit-learn tqdm
<div class = "second-title">下載專案</div>
使用以下命令從GitHub下載專案:
git clone https://github.com/elmmaple/AG_news.git
<div class = "second-title">執行專案</div>
執行專案的方法:
在終端中cd切至AG_news資料夾底下。
執行Python檔案,這是執行主要程式碼的入口,指令如下
python classfication_use_BertForSequenceClassification.py(BertForSequenceClassification版本)
or
python classification_use_BertModel.py(BertModel + 分類器版本)
程式將會載入 BERT 模型和分詞器
定義 TextClassification 模型(如用BertForSequenceClassification則不需額外寫分類器)
加載訓練和測試數據集
設定優化器和損失函數
進行模型訓練
評估模型在測試集上的表現
訓練和評估流程
<div class = "second-title">程式碼結構</div>
<div class = "step">資料載入:
使用 pandas 載入train.csv和test.csv</div>
pd.read_csv(XXX_FILE_PATH)
<div class = "step"> 模型建立 </div>
加載預訓練的BERT模型。定義 TextClassification 模型,該模型在 BERT 的基礎上添加了全連接層進行分類
tokenizer = BertTokenizerFast.from_pretrained('bert-base-uncased')
<div class = "step"> 數據處理與訓練: </div>
創建 AGNewsDataset 類別,處理文本數據,進行分詞並準備成模型可接受的格式。
使用 DataLoader 加載訓練數據,定義優化器和損失函數。
進行多個 epoch 的訓練,計算損失並進行反向傳播優化
<div class = "step"> 模型評估: </div>
創建測試數據集並使用 DataLoader 加載。在模型評估模式下,對測試數據進行預測,計算精確度、召回率和 F1 分數等指標。
<div class = "step"> 結果: </div>
根據測試數據集的預測結果,以下是模型的性能指標:
精確度(Precision):{precision}
召回率(Recall):{recall}
測試準確度(Test Accuracy):{accuracy}
F1 分數:{f1}