專案資料集原始碼在這裡:
然後在此基礎上進行改進。
1.匯入包+初始化
#匯入pytorch包2. 資料讀取import torch
import torch.nn as nn
from fastnlp.io.loader import csvloader
dataset_loader = csvloader(headers=('raw_words','target'), sep='\t')
testset_loader = csvloader( headers=['raw_words'],sep='\t')
# 表示將csv檔案中每一行的第一項將填入'raw_words' field,第二項填入'target' field。3.資料處理# 其中項之間由'\t'分割開來
train_path=r'train_shuffle.txt'
test_path=r'new_test_handout.txt'
dataset = dataset_loader._load(train_path)
testset = testset_loader._load(test_path)
import jieba
from itertools import chain
print(jieba.__version__)
# from itertools import chain
# @params:
# data: 資料的列表,列表中的每個元素為 [文字字串,0/1標籤] 二元組
# @return: 切分詞後的文字的列表,列表中的每個元素為切分後的詞序列
def get_tokenized(data,words=true):
def tokenizer(text):
return [tok for tok in jieba.cut(text, cut_all=false)]
if words:
#按詞語進行編碼
return tokenizer(data)
else:
#按字進行編碼
return [tokenizer(review) for review in data]
from fastnlp import vocabulary4. 模型搭建#將dataset按照ratio的比例拆分,返回兩個dataset
#ratio (float) -- 0train_data, dev_data = dataset.split(0.1, shuffle=false)
vocab = vocabulary(min_freq=2).from_dataset(dataset, field_name='words')
vocab.index_dataset(train_data, dev_data, testset, field_name='words', new_field_name='words')
# 預處理模型5.進行訓練from fastnlp.embeddings import staticembedding,stackembedding
fastnlp_embed = staticembedding(vocab, model_dir_or_name='cn-char-fastnlp-100d',min_freq=2)
from fastnlp.models import cnntext
model_cnn = cnntext(fastnlp_embed, num_classes=2,dropout=0.1)
print(model_cnn)
from fastnlp import trainer, crossentropyloss, accuracymetric,bceloss6.匯出結果trainer_cnn = trainer(model=model_cnn, train_data=train_data, dev_data=dev_data,loss=crossentropyloss(), metrics=accuracymetric())
trainer_cnn.train()
demo=#批量進行資料**
import pandas as pd
import torch
#開始進行**,並將結果儲存到提交格式檔案中,提交平台
# summission_path = r'data\comments9120'
submission = batch_predict(model_cnn,testset)
submission.to_csv('fastnlpdemo.csv',encoding='utf-8')
# submission.to_csv(summission_path+'\submission-cnn-20200229-words.csv', index=false)
工作後的第乙個中秋總結
出來工作一段時間了,輾轉崑山 上海 杭州,現在算是安定下來了。不出意外的話可能也會選擇長期在這邊發展!回頭想想網上的畢業失業論,也只是 博眼球,學生跟著瞎起鬨。大學乍樣的付出,和你工作的待遇是成正比的。至少對於我們這個行業,我是這麼認為的。很慶幸大學的幾年暑假沒有選擇,體驗生活,鍛鍊人生,上電子廠或...
做第乙個專案的收穫
到如今做了第乙個生平第乙個專案,雖然還沒有完工,但是也差不多了。想想這幾個月專心只做這麼一件事,與之前學習不求甚解的心態差別很大。做專案是很花費時間的,收穫當然與之前個人學習的收穫是很不一樣的,現在總結一下。工作計畫 在剛接到專案的時候,就需要大致擬定乙個專案進度計畫。在整個專案進行過程中,要不斷總...
python第乙個程式設計 第乙個 Python 程式
簡述 安裝完 python 後,windows 中 開始選單或安裝目錄下就會有 idle 開發 python 程式的基本 ide 整合開發環境 幫助手冊 模組文件等。linux 中 只需要在命令列中輸入 python 命令即可啟動互動式程式設計。互動式程式設計 互動式程式設計不需要建立指令碼檔案,是...