论文学习
[华为云AI经典论文复现] AI Gallery“语义分析-SDParser”算法使用介绍

发布于42个月以前

  • 1
  • 0
  • 189

发布于42个月以前

本文档是ModelArts AI Gallery算法 “语义分析-SDParser”(以下简称为本算法)的详细使用方法。

本算法使用SemEval-2016数据集中的train集训练,达到了如下的性能:

text数据集,LF达到75.29,UF达到86.19;

news数据集,LF达到66.02,UF达到81.28。

本算法的代码结构如下:

src

|- code    # 代码目录

|- pip-requirements.txt

|- stack_rnn_cell.py

|- stack_rnn.py

|- transition_sdp_metric.py

|- transition_sdp_predictor.py

|- config.json

|- supar_config.py

|- transition_sdp_reader.py

|- customize_servce.py

|- transition_parser_sdp.py

|- train.py

|- data

|- SemEval-2016    # 数据集

|- train

|- text.train.conll

|- news.train.conll

|- validation

|- text.validation.conll

|- news.validation.conll

|- test

|- text.test.conll

|- news.test.conll

|- allennlp    # 用于安装allennlp

|- allennlp-1.2.0-py3-none-any.whl

|- allennlp-1.2.0.tar.gz

|- giga    # 预训练的词向量

|- giga.100.txt

|- giga.chars.100.txt

|- model     # 可选模型,目录必须存在

|- SDP_Model.pt (可选)

1. 准备数据集

本算法支持的数据集格式为CoNLL格式。

本算法默认使用的数据集为:SemEval-2016 Task 9 (Chinese Semantic Dependency Parsing) Datasets数据集,该数据集为CoNLL格式,目前被广泛应用于SDP任务的性能评价,样例如下:

1 妈妈 妈妈 NN NN _ 5 Agt _ _

2 P P _ 4 mPrep _ _

3 JJ JJ _ 4 Desc _ _

4 窗帘 窗帘 NN NN _ 5 Pat _ _

5 撕成 撕成 VV VV _ 0 Root _ _

6 AS AS _ 5 mTime _ _

7 抹布 抹布 NN NN _ 5 Pat _ _

8 PU PU _ 5 mPunc _ _

1 叔叔 叔叔 NN NN _ 2 Agt _ _

2 VV VV _ 0 Root _ _

3 PU PU _ 2 mPunc _ _

4 PU PU _ 5 mPunc _ _

5 VE VE _ 2 dCont _ _

6 PU PU _ 5 mPunc _ _

1.1 下载数据集并转换数据集

点此链接下载数据集文件,下载完成后,数据集文件夹目录结构如下:

Sem-Eval2016

|-- README.md

|-- conll2flat.py

|-- evaluate.py

|-- flat  # 扁平格式数据,本模型无需使用

|   |-- test

|   |   |-- news.test.flat.txt

|   |   `-- text.test.flat.txt

|   |-- train

|   |   |-- news.train.flat.txt

|   |   `-- text.train.flat.txt

|   `-- validation

|       |-- news.valid.flat.txt

|       `-- text.valid.flat.txt

|-- test  # CoNLL格式测试集

|   |-- news.test.conll

|   `-- text.test.conll

|-- train  # CoNLL格式训练集

|   |-- news.train.conll

|   `-- text.train.conll

`-- validation  # CoNLL格式验证集

    |-- news.valid.conll

    `-- text.valid.conll

1.2 安装OBS Browser+并上传数据集

ModelArts使用对象存储服务(OBS)来存储数据,实现安全、高可靠和低成本的存储需求。OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理,例如:创建桶、上传下载文件、浏览文件等。

具体操作步骤如下:

(1)点此下载OBS Browser+,下载完成后解压缩,双击exe进行安装,安装完成后运行;

(2)登录界面如下图所示,需要您填写账号名、Access Key ID(AK)和Secret Accsee Key(SK),参考此文档,获取AK和SK,华为云上的许多产品都需要用到访问密钥,请妥善保存该密钥文件,然后参考下图填写您的华为云账号名及刚获取的AK和SK,点击登录;

image.png

(3)参考下图,点击“创建桶”,输入桶名称,注意:区域要选择华北-北京四、标准存储、私有、关闭多AZ,桶名需自定义,OBS桶名要全局唯一,如提示桶名已存在,则需要您修改为其他名称,比如本文设置桶名为paper-reproduction-01。您设置的桶名必须与此不同,如在下文的操作指导中看到paper-reproduction-01,请主动将桶名替换为您自己的桶名,下文将不再进行提示;

image.png

(4)点击桶名称,进入到桶中,点击“新建文件夹”,输入文件夹名称,如“train_input”,点击进入文件夹,再新建“datasets”,点击“上传”->“添加文件”-> 选择本地下载好的数据集压缩包(之所以选压缩包格式是因为如果数据集比较大,上传压缩包比上传文件夹快很多) –> 确定,如下图所示;

image.png

(5)点击OBS Browser+左侧的“任务管理”,可查看数据上传进度。如下图所示,点击设置,在基础设置中,设置最大并发数为最大值50,可以加快数据上传速度

image.png

2. 订阅本算法

点击本页面右上方的【订阅】按钮。然后点击页面下方的【下一步】按钮,再点击【确认付款】按钮,最后点击【确定】按钮进入我的订阅页面,可以看到刚刚订阅的算法。点击【应用控制台】超链接,选择华北-北京四区域,进入算法管理页面。

如下图所示,点击“同步”按钮,同步算法,可以点击刷新按钮,刷新状态。当状态变成就绪时,表示同步成功。

image.png

3. 创建训练作业

点击上图中的“创建训练作业”,按照下表填写训练作业参数:

image.png

点击下一步,提交,训练作业的状态会经历“初始化”、“部署中”、“运行中”和“运行成功”四个状态。训练作业运行成功后,在上表中指定的“模型输出”路径下会自动生成model目录,该目录下有模型文件、ModelArts平台推理脚本(config.json、customize_service.py)和其他运行模型必备的文件。

4. 模型导入

准备好模型及相关的必备文件后,您可以将生成的模型导入至ModelArts模型管理。具体操作如下:

(1)在ModelArts控制台的左侧导航栏点击“模型管理” -> “模型”,点击右侧页面中的“导入”。在导入模型页面填写名称,选择元模型来源,可以直接从训练中选择,也可以从OBS中选择。如果是从OBS中选择,则需要选择到model目录的上一级目录;例如,本次可选择的目录为obs://paper-reproduction-01/algorithms/train_output,如下图所示:

image.png

注意:选择好元模型路径后,“AI引擎”会自动填充。如未能自动填充,请检查元模型路径是否是model目录的上一级目录,或者model目录下是否包含模型配置文件config.json。

(2)点击“立即创建”,需要一点时间来等待模型导入和构建,当模型版本状态为“正常”后,即表示模型导入成功。

5. 创建在线服务

在ModelArts上,可以将模型部署为在线服务,然后上传图片进行预测,直接在网页端观察预测结果。

部署为在线服务具体步骤如下:

(1)在ModelArts左侧导航栏中选择“部署上线 -> 在线服务”,然后点击页面中的“部署”;

(2)在部署页面填写参数,其中在“模型列表”选择要导入的模型及版本,计算节点规格选择CPU即可;

image.png

(3)点击“下一步”,参数确认无误后,点击“提交”。

提交后,您可以在在线服务列表中查看部署进度,当状态变为“运行中”后,点击服务名称,进入详情页面,点击“预测”,上传图片进行测试。

6. 创建批量服务

在ModelArts上,还可以将模型部署为批量服务,从OBS加载测试集图片进行预测,然后将预测结果输出到OBS。

部署为批量服务具体步骤如下:

(1)在ModelArts左侧导航栏中选择“部署上线 -> 批量服务”,然后点击页面中的“部署”;

(2)在部署页面填写参数,其中在“模型列表”选择要导入的模型及版本,填写输入数据目录和输出数据目录,计算节点规格选择“CPU 2核 8GB”,计算节点个数设为1;

image.png

(3)点击“下一步”,参数确认无误后,点击“提交”。

提交后,您可以在批量服务列表中查看部署进度,当状态变为“运行中”后,表示正在预测中,当状态变为“运行完成”,表示这批图片已经预测结束,预测结果是一批txt文件,保存在上图指定的OBS输出数据目录位置中,可以前往该目录查看结果。

7. 模型评估

参考本文第2节中的步骤,创建“训练作业”,按照下表设置训练参数:

image.png

点击下一步,提交,训练作业的状态会经历“初始化”、“部署中”、“运行中”和“运行成功”四个状态。训练作业运行成功后,在上表中指定的“模型输出”路径下会自动生成模型评估结果。

评论 0

登录后评论

    euuufe

    作者相关内容

    2021第三届华为云人工智能大赛无人车挑战杯学习资料
    发布于44个月以前
    华为云AI论文精读会2021第二十期:轻量化神经网络MobileNet系列论文精读
    发布于41个月以前
    [华为云AI经典论文复现] AI Gallery CrowdDet算法使用介绍
    发布于42个月以前
    华为云AI论文精读会2021第四期:Dynamic RCNN:一种有效提升RCNN系列网络表现的动态训练方法
    发布于42个月以前
    华为云AI论文精读会2021第十九期:ACGAN-动漫头像生成
    发布于41个月以前

    暂无数据

    热门内容推荐

    快速体验10个精选论文复现算法模型,赢取蓝牙音箱、体脂秤、ModelArts图书!
    WAYNE 发布于44个月以前
    华为云AI论文精读会2021第二十期:轻量化神经网络MobileNet系列论文精读
    euuufe 发布于41个月以前
    [华为云AI经典论文复现] AI Gallery CrowdDet算法使用介绍
    euuufe 发布于42个月以前
    Fast-SCNN: Fast Semantic Segmentation Network
    spy 发布于44个月以前
    华为云AI论文精读会2021第四期:Dynamic RCNN:一种有效提升RCNN系列网络表现的动态训练方法
    euuufe 发布于42个月以前

    暂无数据