英特尔深度学习框架
项目描述
neon是英特尔参考深度学习框架,致力于在所有硬件上实现最佳性能。设计用于易于使用和扩展。
教程和iPython笔记本,以帮助用户开始使用neon进行深度学习。
支持常用层:卷积、RNN、LSTM、GRU、BatchNorm等。
可交换的硬件后端:编写一次代码,然后部署到CPU、GPU或Nervana硬件
对于快速迭代和模型探索,neon在深度学习库中具有最快的性能(cuDNNv4速度的2倍,参见基准测试)。*在Titan X上AlexNet的2.5秒/宏观批次(3072个图像)*使用1个Titan X在16位浮点数上训练VGG大约需要10天(原始论文:4个GPU需要2-3周)
我们内部在英特尔Nervana使用neon来解决客户在多个领域的问题。我们正在多个职位上招聘。请在这里申请!
查看我们最新版本中的新特性。我们想强调,neon v2.0.0+通过启用英特尔数学内核库(MKL)在CPU上进行了优化,性能有了很大提升。neon使用的MKL的DNN(深度神经网络)组件是免费提供的,并在安装neon时自动下载。
快速安装
在Mac OSX或Linux机器上,输入以下命令来下载和安装neon(conda用户请参阅指南),并使用它来训练您的第一个多层感知器。要强制安装python2或python3,将下面的make替换为make python2或make python3。
git clone https://github.com/NervanaSystems/neon.git
cd neon
make
. .venv/bin/activate
从neon v2.2.0版本开始,neon的master分支将每周更新,以便为下一个版本进行开发工作。查看发布标签(例如,“git checkout v2.2.0”)以获取稳定发布版本。或者简单地检查“latest”发布标签以获取最新稳定版本(即,“git checkout latest”)
从版本2.4.0开始,我们重新启用了pip install。可以使用包名nervananeon安装neon。
pip install nervananeon
请注意,aeon需要单独安装。最新发布版本v2.6.0使用aeon v1.3.0。
警告
在neon v2.1.0和v2.2.0之间,aeon清单文件格式已更改。从neon < v2.2.0清单更新时,必须使用(示例文件夹中的)ingest脚本来重新创建清单,或使用此脚本进行更新。
使用脚本运行示例
python examples/mnist_mlp.py
从命令行选择后端引擎
默认选择gpu后端,因此上述命令等同于如果在系统上找到兼容的GPU资源
python examples/mnist_mlp.py -b gpu
如果没有GPU可用,从neon v2.1.0版本开始,现在默认选择优化后的CPU(MKL)后端,这意味着上述命令现在等同于
python examples/mnist_mlp.py -b mkl
如果您想比较默认的mkl后端和非优化CPU后端,请使用以下命令
python examples/mnist_mlp.py -b cpu
使用yaml文件运行示例
或者,可以使用yaml文件运行示例。
neon examples/mnist_mlp.yaml
要在yaml文件中选择特定的后端,添加或修改包含backend: mkl的行以启用mkl后端,或添加或修改包含backend: cpu的行以启用cpu后端。如果可用GPU,则默认选择gpu后端。
在英特尔架构上使用MKL的neon推荐设置
英特尔数学内核库利用了英特尔Xeon和Xeon Phi系统的并行化和向量化能力。当系统上启用超线程时,我们建议以下KMP_AFFINITY设置以确保并行线程1:1映射到可用的物理核心。
export OMP_NUM_THREADS=<Number of Physical Cores>
export KMP_AFFINITY=compact,1,0,granularity=fine
或
export OMP_NUM_THREADS=<Number of Physical Cores>
export KMP_AFFINITY=verbose,granularity=fine,proclist=[0-<Number of Physical Cores>],explicit
有关KMP_AFFINITY的更多信息,请参阅这里。我们鼓励用户尝试并建立他们自己的最佳性能设置。
文档
neon的完整文档可在这里找到。一些有用的起点包括
支持
对于任何错误或功能请求,请
搜索公开和已关闭的问题列表,以查看我们是否已经在处理您发现的问题。
检查您的问题/请求是否已经在我们的常见问题解答(FAQ)或neon-users Google群组中有所解答。
如果您有想要贡献的代码,请提交新的问题或pull request。
对于其他问题和讨论,请向neon-users Google群组发布消息。
许可证
我们正在开源neon,采用Apache 2.0许可证。欢迎您联系我们,分享您的使用案例。联系我们。
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪一个,请了解安装包的更多信息。
源分布
构建分布
nervananeon-2.6.0-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e21fc8e9d713f8b3b43096ecf7717a7efe28f962ce26475ee1b2b3960ea54645 |
|
MD5 | 5d6a35291c9c3475a537d55266e25f14 |
|
BLAKE2b-256 | c6714e8f2c1ff5318d21952a80b83d8eeb6bf48c7c3a7f41ceac97d6e8b8e537 |
nervananeon-2.6.0-py2-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a61f80d557430a548107cf3c0062855ff6c399949c0b03eb07c3bb31f97f858f |
|
MD5 | 888477434d2aac5b235ccb3a11eab981 |
|
BLAKE2b-256 | 686a8dde6aa8ecef2ef7260d74c2cf75c0e6ed7d4262f43f2b62d579b5a778b5 |