小白如何使用DSW玩转天池NLP算法大赛

一、创建并打开DSW实验室

前往天池实验室即可创建并进入你的实验室。在执行这一步之前需要确保已经登录了阿里云和天池账号。进入之后点击我的实验室,点击左侧新建选择PAI-DSW(免费5小时GPU哦~),进入之后等待几秒后我们会看到如下页面:小白如何使用DSW玩转天池NLP算法大赛_第1张图片如上图所示,左侧是DSW实验室的⽂件区,在这⾥你可以看到在你的实验室⾥的所有⽂件夹和⽂件。双击⽂件夹即可进入这个⽂件夹。中间是⼯作区,所有被打开的⽂件都会在⼯作区显示出来。右侧是计算资源区域,在这⾥你可以看到你当前使⽤的资源类型。点击右边计算资源区的箭头,即可弹出资源详情,点击切换按钮就可以进行CPU和GPU环境的切换,如下图所示:
小白如何使用DSW玩转天池NLP算法大赛_第2张图片
在⽂件资源管理区的顶部还有4个按钮,从左到右分别对应的是:打开DSW Launcher启动器,新建⽂件夹,上传⽂件以及刷新当前⽂件夹。
小白如何使用DSW玩转天池NLP算法大赛_第3张图片
在⽂件夹左侧还有⼀栏Tab,每个图标从上到下分别代表了:⽂件资源管理器,案例代码,正在运⾏的Notebook,命令⾯板,在⼯作区打开的Tab。
小白如何使用DSW玩转天池NLP算法大赛_第4张图片
了解了DSW的环境以后,然后我们回到DSW Launcher启动器,也就是⼯作区默认打开的界⾯,我们可以看到cpu环境下和gpu环境下以及对应的kernel环境,可以根据自己的需求进行选择。
小白如何使用DSW玩转天池NLP算法大赛_第5张图片
小白如何使用DSW玩转天池NLP算法大赛_第6张图片

二、创建一个notebook实例

以GPU环境下为例,在工作区默认打开的界面,然后点击Notebook区域中的PyTorch为例,如下所示:
小白如何使用DSW玩转天池NLP算法大赛_第7张图片
点击了PyTorch这个图标之后,DSW实验室就会⾃动为我们创建⼀个ipynb notebook⽂件。我们在左侧的资源管理器中也会看到。如下图所示:
小白如何使用DSW玩转天池NLP算法大赛_第8张图片
这样我们就成功的创建了⼀个Notebook了。相信熟悉Notebook的你到这⼀步就很清楚之后怎么操作了~
如果你以前没有⽤过也没关系,继续往下看。

三、NLP算法大赛数据导入

⽤⿏标点击第⼀个框框(我们下⾯以Cell称呼),我们就可以开始从只读模式进⼊编辑模式开始写代码了。
小白如何使用DSW玩转天池NLP算法大赛_第9张图片

数据获取

首先您需要在天池大赛官网报名,我们直接打开数据下载地址,看到的是这样一个页面:
小白如何使用DSW玩转天池NLP算法大赛_第10张图片
打开后,我们发现提供了训练集数据,测试集数据,sub提交样例的下载链接。
小白如何使用DSW玩转天池NLP算法大赛_第11张图片
基于DSW的NLP比赛数据获取方式:

  • 直接将数据下载至本地,再通过本地进行数据上传
  • 通过!wget xxxx(所需数据的链接)进行下载,但是注意只能在CPU环境下,GPU环境不支持联网
#1.训练集数据下载
!wget https://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531810/train_set.csv.zip
#2.解压缩包
!unzip train_set.csv.zip

拷贝上方的命令至cell后,我们按下 shift + enter回⻋ 这两个键,就可以看到我们的执⾏结果了,如下图所示:
小白如何使用DSW玩转天池NLP算法大赛_第12张图片

数据读取

import pandas as pd
train_df = pd.read_csv('train_set.csv',sep = '\t')
train_df.head()

小白如何使用DSW玩转天池NLP算法大赛_第13张图片

至此,我们接下来就可以愉快的进行模型训练啦~

四、模型训练

可以根据自身需求进行CPU or GPU环境以及kernel配置的选择。
以下我以GPU环境下kernel选择PyTorch进行为例:

准备工作:

  • 选择了GPU,当然要看看显卡配置了呀~
    !nvidia-smi小白如何使用DSW玩转天池NLP算法大赛_第14张图片
  • 查看磁盘剩余空间~
    !df -h小白如何使用DSW玩转天池NLP算法大赛_第15张图片
  • 查看内存占用
    !free -h
    小白如何使用DSW玩转天池NLP算法大赛_第16张图片
  • 安装所需的库(!pip install 库名 --user)
 !pip install transformers --user

小白如何使用DSW玩转天池NLP算法大赛_第17张图片

训练模型

很好,现在你已经熟悉了DSW环境。可以编写代码自行进行模型的训练了。

  • 首先安装所需的库后,按下 shift + enter回⻋ 这两个键,一步步运行,就可以看到我们的执⾏结果了:
# Count Vectors+RidgeClassfier
import pandas as pd
from sklearn.linear_model import RidgeClassifier
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics import f1_score
train_df = pd.read_csv('data/train_set.csv',sep='\t')
test_df = pd.read_csv('data/test_a.csv')
test_df.shape
(50000, 1)
vectorizer = CountVectorizer(max_features=3500)
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])

val_pred = clf.predict(train_count[num:])
print(f1_score(train_df['label'].values[num:], val_pred, average='macro'))
0.8256729738074418

这样,你就掌握了DSW最基本的创建Notebook,便携代码和运⾏代码的⽅式。可以愉快地获取数据进行模型的训练了~

你可能感兴趣的:(NLP,dsw,深度学习,数据分析)