NeuronBlocks:像搭积木一样构建自然语言理解深度学习模型
NeuronBlocks 是一个模块化 NLP 深度学习建模工具包,可以帮助工程师/研究者们快速构建 NLP 任务的神经网络模型。 该工具包的主要目标是将 NLP 中深度神经网络模型构建的开发成本降到最低,包括训练阶段和推断阶段。
NeuronBlocks 包括 Block Zoo 和 Model Zoo 两个重要组件,其整体框架如下图所示。
用户可以选择 Model Zoo 中的示例模型(JSON 配置文件)开启模型训练,或者利用 Block Zoo 中的神经网络模块构建新的模型,就像玩乐高积木一样。
注: NeuronBlocks支持 Python 3.6及以上
Clone本项目:
git clone https://github.com/Microsoft/NeuronBlocks
安装Python依赖包:
pip install -r requirements.txt
安装PyTorch ( NeuronBlocks支持 PyTorch 0.4.1 及以上):
对于 Linux ,运行以下命令:
pip install "torch>=0.4.1"
对于 Windows ,建议按照PyTorch官方安装教程通过Conda安装PyTorch。
通过以下示例快速入门NeuronBlocks。对于Windows,建议使用PowerShell工具运行命令。
提示: 在下文中, PROJECTROOT表示本项目的根目录。
# 训练 cd PROJECT_ROOT python train.py --conf_path=model_zoo/demo/conf.json # 测试 python test.py --conf_path=model_zoo/demo/conf.json # 预测 python predict.py --conf_path=model_zoo/demo/conf.json
更多细节, 请查看Tutorial_zh_CN.md 和 Code documentation。
使用用神经网络模型解决NLP任务时面临以下挑战的工程师和研究者们:
利用 NeuronBlocks 进行 NLP 神经网络模型训练的优势包括:
CPU 预测 | Single-GPU 预测 | Multi-GPU 预测 | |
CPU 训练 | ✓ | ✓ | ✓ |
Single-GPU 训练 | ✓ | ✓ | ✓ |
Multi-GPU 训练 | ✓ | ✓ | ✓ |
词向量 自然语言需要数学化才能够被计算机认识和计算。数学化的方法有很多,最简单的方法是为每个词分配一个编号,这种方法已经有多种应用,但是依然存在一个缺点:不能表示词与词的关系。 词向量是这样的一种向量[0.1, -3.31, 83.37, 93.0, -18.37, ……],每一个词对应一个向量,词义相近的词,他们的词向量距离也会越近(欧氏距离、夹角余弦) 词向量有一个优点,就是维度一般较低,一般
本节将讨论优化与深度学习的关系,以及优化在深度学习中的挑战。在一个深度学习问题中,我们通常会预先定义一个损失函数。有了损失函数以后,我们就可以使用优化算法试图将其最小化。在优化中,这样的损失函数通常被称作优化问题的目标函数(objective function)。依据惯例,优化算法通常只考虑最小化目标函数。其实,任何最大化问题都可以很容易地转化为最小化问题,只需令目标函数的相反数为新的目标函数即可
感谢大家的关注,但其实这些笔记远没有那么大的价值;深度学习以及自然语言处理的发展极其迅速,这里的很多内容已经年久失修,甚至很多都没有完成。 相关代码:https://www.wenjiangs.com/wp-content/uploads/2022/08/_codes.zip
译者 bruce1408 作者: Robert Guthrie 本文带您进入pytorch框架进行深度学习编程的核心思想。Pytorch的很多概念(比如计算图抽象和自动求导)并非它所独有的,和其他深度学习框架相关。 我写这篇教程是专门针对那些从未用任何深度学习框架(例如:Tensorflow, Theano, Keras, Dynet)编写代码而从事NLP领域的人。我假设你已经知道NLP领域要解决
主要内容 课程列表 专项课程学习 辅助课程 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 卷积神经网络视觉识别 Stanford 暂无 链接 神经网络 Tweet 暂无 链接 深度学习用于自然语言处理 Stanford 暂无 链接 自然语言处理 Speech and Language Processing 链接 专项课程学习 下述的课程都是公认的最好的在线学习资料,侧重点不同,但推
Google Cloud Platform 推出了一个 Learn TensorFlow and deep learning, without a Ph.D. 的教程,介绍了如何基于 Tensorflow 实现 CNN 和 RNN,链接在 这里。 Youtube Slide1 Slide2 Sample Code
本文向大家介绍python模块smtplib学习,包括了python模块smtplib学习的使用技巧和注意事项,需要的朋友参考一下 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。 smtp协议的基本命令包括: HELO 向服务器标识用户身份 MAIL 初始化邮件传输 mail from: RCPT 标识单个的邮件接收人;常
在 Node.js 模块库中有很多好用的模块。接下来我们为大家介绍几种常用模块的使用: 序号 模块名 & 描述 1 OS 模块 提供基本的系统操作函数。 2 Path 模块 提供了处理和转换文件路径的工具。 3 Net 模块 用于底层的网络通信。提供了服务端和客户端的的操作。 4 DNS 模块 用于解析域名。 5 Domain 模块 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的