我是靠谱客的博主 怕孤独画笔,最近开发中收集的这篇文章主要介绍微软开源项目NeuronBlocks - 像搭积木一样构建NLP深度学习模型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

NeuronBlocks将常用的神经网络层封装为标准模块,通过配置简单的配置文件,就可以轻松构建复杂的深度神经网络模型,与此同时,工具包还提供了一些列针对常见NLP任务的经典模型

项目地址:https://github.com/Microsoft/NeuronBlocks

1、安装

NeuronBlocks 目前支持:Python 3.6, PyTorch 0.4.1,Linux/Windows,GPU/CPU

在windows安装过程如下所示:

从github将项目clone下来,进入到NeuronBlocks文件夹下面

 

输入安装命令:pip install -r requirements.txt

如下所示

上述的命令时将requirements.txt中的python包进行安装,requirements.txt具体内容如下所示:

matplotlib==2.1.0

six==1.11.0

nltk==3.4

gensim==3.2.0

tqdm==4.19.5

numpy==1.13.3

scikit_learn==0.19.2

PyYAML==3.13

ftfy==5.5.0

 

pip install torch==0.4.1

会出现下面的错误:

即错误(方便看清楚):

 Could not find a version that satisfies the requirement torch==0.4.1 (from versions: 0.1.2, 0.1.2.post1)

No matching distribution found for torch==0.4.1

将安装命令修改成:

pip3 install http://download.pytorch.org/whl/cu90/torch-0.4.1-cp36-cp36m-win_amd64.whl  

安装成功显示如下所示:

2、例子

用户可以选择Model Zoo中的示例模型(JSON配置文件)开启模型训练,或者利用Block Zoo中的神经网络模块构建新的模型,就像玩乐高积木一样。

(1)训练:

python train.py --conf_path=model_zoo/demo/conf.json

训练的过程显示如下所示:

卡在下面的位置:

(2)测试:

python test.py --conf_path=model_zoo/demo/conf.json

在测试的过程中,需要输入yes的过程

最终的测试结果如下所示:

(3)预测:

python predict.py --conf_path=model_zoo/demo/conf.json

预测需要输入两次yes

最终的预测结果如下所示:

将预测出的文件写入到./models/demo/predict.tsv文件下面

经过上述步骤之后,新生成的文件models/demo中的具体内容如下所示:

NeuronBlocks提供了一个模型可视化工具,可以将JSON配置文件转化为模型框图,如下图所示:

 

3、简单介绍

NeuronBlocks是基于pytorch的NLP深度学习建模工具,可以帮助研究员或者工程师快速构建自然语言理解任务的深度神经网络模型。该工具包的主要目标是将 NLP 深度神经网络模型构建的开发成本降到最低,包括模型训练阶段和推断阶段。

NeuronBlocks的整体框架如下所示,包括两部分:Block Zoo 和Model Zoo

Block Zoo:包括词嵌入、CNN、LSTM/GRU、Transformer和各种Attention,主要是将常用的神经网咯层抽象并封装为可重用的标准模块,这些模块将被用于构建各种针对不同自然语言处理任务的深度学习模型

Model Zoo:提供大量预构建好的深度神经网络模型,涵盖了常见的NLP任务,这些模型以JSON配置文件的形式呈现,用户可以通过简单修改Model Zoo中的示例模型配置,即可将其应用于自己的任务中

4、NeuronBlocks优势

(1) 模型构建:用户只需要配置简单的 JSON 文件,就能够构建模型和调整参数,大大减少了模型实现的工作量;

(2)模型分享:可以通过分享 JSON 配置文件来分享模型,使模型共享变得非常容易。对于不同的任务或模型,用户只需维护一个通用的源码库;

(3)代码重用:可以在各任务与模型间共享神经网络模块,减少重复的编程工作;

(4)平台灵活性:可以在 Linux 和 Windows 机器上运行,支持 CPU 和 GPU,也支持像 Open PAI 这样的 GPU 管理平台;

(5)模型可视化:提供了一个模型可视化工具,用于观察模型结构及检查 JSON 配置的正确性;

(6)可扩展性:支持用户贡献新的神经网络模块或者新的模型。

上述的优势的分析来源网络

 

后续会继续进行更新,换一个任务进行训练测试一下,欢迎同道者进行交流

最后

以上就是怕孤独画笔为你收集整理的微软开源项目NeuronBlocks - 像搭积木一样构建NLP深度学习模型的全部内容,希望文章能够帮你解决微软开源项目NeuronBlocks - 像搭积木一样构建NLP深度学习模型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部