当前位置:云计算企业动态 → 正文

微软开源深度学习工具包CNTK更新2.3版,带来多重性能改进

责任编辑:editor004 作者:杨晓凡 |来源:企业网D1Net  2017-12-01 11:38:54 本文摘自:雷锋网

雷锋网 AI 科技评论消息,近日微软更新了自家开源深度学习工具包CNTK,新的版本号为2.3,带来了多项性能改进。

CNTK全名为Computational Network Toolkit,与谷歌的TensorFlow、Facebook的Caffe/Caffe2一样是开源的计算平台/工具包,意在服务更多深度学习、人工智能的研究人员和开发者们。从2016年开源起,微软就宣传CNTK的性能明显高于Caffe、Theano、TensoFlow等其它的一些热门工具,当然也提供了基于英伟达cuDNN的一到多GPU加速支持。

CNTK在2.0的多个Beta和RC版本中逐步更新了面向Python、C++、C#、Java等语言的API支持,对Keras的后端支持,Python示例和教程、自动安装等等一大堆新功能,接着在2.1中把cuDNN版本升级到了6.0、支持Universal Windows Platform,在2.2中做了许多模型支持相关的改进之后,近日CNTK也发布了2.3版本。雷锋网 AI 科技评论把更新内容简单介绍如下:

CNTK 2.3 更新重点

对ONNX标准的更好支持(关于ONNX看这里)

分布式训练支持切换到NCCL2,带来更好的性能(NCCL是英伟达官方的多卡训练库,详细解读看这里)

改进了C# API 的支持

(2.2版本中必须安装OpenCV库)现在OpenCV不是必须安装的,只有当用到TensorBoard Image功能和图像读取功能时才需要安装它

多重性能改进

增加了网络优化API

更快的稀疏Adadelta

性能改进的相关项目包含

改进 C# API,提升训练和预测性能

通过自由动态轴的支持,提升带有卷积操作的网络的训练速度。对于某些模型,训练速度可以提升5倍以上;

提升验证性能,移除了许多不需要的验证检查;

CPU 卷积中更多地使用MKL-ML,AlexNet的训练速度可以提升4倍;

Linux的正式版CNTK-GPU会默认使用NCCL2,可以降低分布式训练中的聚合开销。对于Python用户来说没有什么影响,Linux的Python自己就带有NCCL支持。BrainScript版本的用户需要先自己手工安装NCCL库作为CNTK的运行环境,就像CUDA和CUDNN一样。CPU版本和Windows版本都不受影响,因为目前NCCL只支持Linux。

提升了梯度稀疏时Adadelta的更新速度。现在每次更新的运行时间和梯度中不为零的元素的数量成正比。对于在单个GPU上运行的带有高维稀疏输入(大约2百万特征)的前馈模型,性能可以提升5倍。内存需求稍有增加,每一个稀疏的输入特征会需要额外的四个字节空间(对前面提到的模型来说一共增加8MB左右的内存需求)

其它值得注意的项目

2.3版本是最后一个支持Python3.4的版本,未来版本的CNTK将不再支持Python3.4。

ONNX方面,优化标准支持的同时,ONNX标准也更新到了最新版本;目前已经覆盖了ResNet、Inception、VGG在内的多数计算机视觉模型

增加了GPU上分组卷积的支持

CNTK2.3版本此次发布了运行在Windows下的CPU、GPU、GPU+1bit-SGD、UWP等多个版本以及运行在Linux下的CPU、GPU、GPU+1bit-SGD三个版本,都支持64位系统。有需要的研究人员和开发者请到CNTK的 github马上更新吧。

关键字:性能改进开源微软

本文摘自:雷锋网

x 微软开源深度学习工具包CNTK更新2.3版,带来多重性能改进 扫一扫
分享本文到朋友圈
当前位置:云计算企业动态 → 正文

微软开源深度学习工具包CNTK更新2.3版,带来多重性能改进

责任编辑:editor004 作者:杨晓凡 |来源:企业网D1Net  2017-12-01 11:38:54 本文摘自:雷锋网

雷锋网 AI 科技评论消息,近日微软更新了自家开源深度学习工具包CNTK,新的版本号为2.3,带来了多项性能改进。

CNTK全名为Computational Network Toolkit,与谷歌的TensorFlow、Facebook的Caffe/Caffe2一样是开源的计算平台/工具包,意在服务更多深度学习、人工智能的研究人员和开发者们。从2016年开源起,微软就宣传CNTK的性能明显高于Caffe、Theano、TensoFlow等其它的一些热门工具,当然也提供了基于英伟达cuDNN的一到多GPU加速支持。

CNTK在2.0的多个Beta和RC版本中逐步更新了面向Python、C++、C#、Java等语言的API支持,对Keras的后端支持,Python示例和教程、自动安装等等一大堆新功能,接着在2.1中把cuDNN版本升级到了6.0、支持Universal Windows Platform,在2.2中做了许多模型支持相关的改进之后,近日CNTK也发布了2.3版本。雷锋网 AI 科技评论把更新内容简单介绍如下:

CNTK 2.3 更新重点

对ONNX标准的更好支持(关于ONNX看这里)

分布式训练支持切换到NCCL2,带来更好的性能(NCCL是英伟达官方的多卡训练库,详细解读看这里)

改进了C# API 的支持

(2.2版本中必须安装OpenCV库)现在OpenCV不是必须安装的,只有当用到TensorBoard Image功能和图像读取功能时才需要安装它

多重性能改进

增加了网络优化API

更快的稀疏Adadelta

性能改进的相关项目包含

改进 C# API,提升训练和预测性能

通过自由动态轴的支持,提升带有卷积操作的网络的训练速度。对于某些模型,训练速度可以提升5倍以上;

提升验证性能,移除了许多不需要的验证检查;

CPU 卷积中更多地使用MKL-ML,AlexNet的训练速度可以提升4倍;

Linux的正式版CNTK-GPU会默认使用NCCL2,可以降低分布式训练中的聚合开销。对于Python用户来说没有什么影响,Linux的Python自己就带有NCCL支持。BrainScript版本的用户需要先自己手工安装NCCL库作为CNTK的运行环境,就像CUDA和CUDNN一样。CPU版本和Windows版本都不受影响,因为目前NCCL只支持Linux。

提升了梯度稀疏时Adadelta的更新速度。现在每次更新的运行时间和梯度中不为零的元素的数量成正比。对于在单个GPU上运行的带有高维稀疏输入(大约2百万特征)的前馈模型,性能可以提升5倍。内存需求稍有增加,每一个稀疏的输入特征会需要额外的四个字节空间(对前面提到的模型来说一共增加8MB左右的内存需求)

其它值得注意的项目

2.3版本是最后一个支持Python3.4的版本,未来版本的CNTK将不再支持Python3.4。

ONNX方面,优化标准支持的同时,ONNX标准也更新到了最新版本;目前已经覆盖了ResNet、Inception、VGG在内的多数计算机视觉模型

增加了GPU上分组卷积的支持

CNTK2.3版本此次发布了运行在Windows下的CPU、GPU、GPU+1bit-SGD、UWP等多个版本以及运行在Linux下的CPU、GPU、GPU+1bit-SGD三个版本,都支持64位系统。有需要的研究人员和开发者请到CNTK的 github马上更新吧。

关键字:性能改进开源微软

本文摘自:雷锋网

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^