小白如何用免費GPU跑天池算法大賽!
點擊上方“AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
作者:盧玉潔,遼寧大學(xué)碩士??張帆,天津大學(xué)碩士
一、進(jìn)入阿里云實驗室
我這次參加比賽用的是阿里云的DWS平臺,和Google的Colab類似,不用配置深度學(xué)習(xí)環(huán)境,同時有免費GPU資源,比較適合打比賽。下面我盡量從小白的角度講下我是如何用DWS來打比賽的。首先從網(wǎng)頁進(jìn)入DWS地址:


二、打開DSW平臺
進(jìn)入之后點擊我的實驗室,進(jìn)入之后等待幾秒后我們會看到如下頁面:
如上圖所示,左側(cè)是DSW實驗室的?件區(qū),在這?你可以看到在你的實驗室?的所有?件夾和?件。雙擊?件夾即可進(jìn)入這個?件夾。中間是?作區(qū),所有被打開的?件都會在?作區(qū)顯示出來。右側(cè)是計算資源區(qū)域,在這?你可以看到你當(dāng)前使?的資源類型。點擊右邊計算資源區(qū)的箭頭,即可彈出資源詳情,點擊切換按鈕就可以進(jìn)行CPU和GPU環(huán)境的切換,如下圖所示:

在?件資源管理區(qū)的頂部還有4個按鈕,從左到右分別對應(yīng)的是:打開DSW Launcher啟動器,新建?件夾,上傳?件以及刷新當(dāng)前?件夾。

在?件夾左側(cè)還有?欄Tab,每個圖標(biāo)從上到下分別代表了:?件資源管理器,案例代碼,正在運(yùn)?的Notebook,命令?板,在?作區(qū)打開的Tab。

了解了DSW的環(huán)境以后,然后我們回到DSW Launcher啟動器,也就是?作區(qū)默認(rèn)打開的界?,我們可以看到cpu環(huán)境下和gpu環(huán)境下以及對應(yīng)的kernel環(huán)境,可以根據(jù)自己的需求進(jìn)行選擇。


三、創(chuàng)建一個notebook實例
以GPU環(huán)境下為例,在工作區(qū)默認(rèn)打開的界面,然后點擊Notebook區(qū)域中的PyTorch為例,如下所示:

點擊了PyTorch這個圖標(biāo)之后,DSW實驗室就會?動為我們創(chuàng)建?個ipynb notebook?件。我們在左側(cè)的資源管理器中也會看到。如下圖所示:

??標(biāo)點擊第?個框框(我們下?以Cell稱呼),我們就可以開始從只讀模式進(jìn)?編輯模式開始寫代碼了。

相信熟悉Notebook的你到這?步就很清楚之后怎么操作了~如果你以前沒有?過也沒關(guān)系,繼續(xù)往下看。
四、數(shù)據(jù)獲?。ㄒ訬LP比賽為例)
4.1 數(shù)據(jù)獲取
步驟1:首先需要在新聞文本分類挑戰(zhàn)賽報名,在賽題與數(shù)據(jù)欄中,點擊紅框下載數(shù)據(jù)。

步驟2:打開所下載的文件,發(fā)現(xiàn)下載的并非是數(shù)據(jù)集本身,而是提供了訓(xùn)練集數(shù)據(jù),測試集數(shù)據(jù),sub提交樣例的下載鏈接。
方式1:直接將數(shù)據(jù)下載至本地,再通過本地進(jìn)行數(shù)據(jù)上傳
將步驟2獲取的訓(xùn)練集和測試集鏈接復(fù)制到瀏覽器中,下載數(shù)據(jù)集。下載后,上傳至文件區(qū)。
方式2:通過!wget xxxx(所需數(shù)據(jù)的鏈接)進(jìn)行下載,但是注意只能在CPU環(huán)境下,GPU環(huán)境不支持聯(lián)網(wǎng)。具體操作如下:
運(yùn)行以下代碼塊。# 1.訓(xùn)練集數(shù)據(jù)下載!wget https://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531810/train_set.csv.zip# 2.解壓縮包!unzip train_set.csv.zip# 1.訓(xùn)練集數(shù)據(jù)下載!wget https://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531810/test_a.csv.zip# 2.解壓縮包!unzip test_a.csv.zip
拷貝上方的命令至cell后,我們按下 shift + enter回? 這兩個鍵,就可以看到我們的執(zhí)?結(jié)果了,如下圖所示:

4.2 數(shù)據(jù)讀取
import pandas as pdtrain_df = pd.read_csv('train_set.csv',sep = '\t')train_df.head()

五、訓(xùn)練模型
在這里,我們新建一個GPU環(huán)境下kernel選擇PyTorch的文件。

在創(chuàng)建好的notebook中,首先安裝所需的庫
# Count Vectors+RidgeClassfierimport pandas as pdfrom sklearn.linear_model import RidgeClassifierfrom sklearn.feature_extraction.text import CountVectorizerfrom sklearn.feature_extraction.text import TfidfVectorizerfrom sklearn.metrics import f1_scor
讀取數(shù)訓(xùn)練集及測試集數(shù)據(jù)
train_df = pd.read_csv('train_set.csv',sep='\t')test_df = pd.read_csv('test_a.csv')
我們查看一下數(shù)據(jù)的大小
test_df.shape# (50000, 1)
然后可以建模訓(xùn)練
# 建模訓(xùn)練vectorizer = CountVectorizer(max_features=3500)all_data_df = pd.concat([train_df,test_df],axis =0)train_test = vectorizer.fit_transform(all_data_df['text'])train_len = train_df.shape[0]train_count = train_test[:train_len]test_count = train_test[train_len:]clf = RidgeClassifier()num = int(train_len*0.9)clf.fit(train_count[:num],?train_df['label'].values[:num])
若頁面如下圖所示,并非報錯,計算時間較長,請耐心等待即可。

在測試集預(yù)測一下分?jǐn)?shù)
# 最后在測試集預(yù)測一下分?jǐn)?shù)val_pred = clf.predict(train_count[num:])print(f1_score(train_df['label'].values[num:], val_pred, average='macro'))
最后的最后求一波分享!
YOLOv4 trick相關(guān)論文已經(jīng)下載并放在公眾號后臺
關(guān)注“AI算法與圖像處理”,回復(fù) “200714”獲取
個人微信 請注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱 如果沒有備注不拉群!

