01CNTK是什么 地址:https://github.com/Microsoft/CNTK CNTK是微软开源的深度学习工具包,它通过有向图将神经网络描述为一系列计算步骤。 02CNTK模型训练 pip安装一条命令即可,可以选择安装cpu或者gpu版本。 pip install cntk/cntk-gpu。 接下来就是数据的准备,模型的定义,结果的保存与分析。 from __future__ import print_function import numpy as np import cntk as C from cntk.learners import sgd from cntk.logging import ProgressPrinter from cntk.layers import Dense, Sequential def generate_random_data 03CNTK模型测试 测试就是载入模型,做好与训练时同样的预处理操作然后forward就行了。
根据微软研究人员的描述,由于具备更为优秀的交互能力,CNTK工具包中的语音和图像识别速度比另外四个当下主流的计算工具包都更加受开发者的欢迎。 为了开发CNTK,微软就必须深入研究神经网络,探究如何更好的复制人脑的学习过程。 该公司还依靠其强大的计算处理能力与图形处理(GPU)能力来运行CNTK,从而处理更为复杂的算法,提高人工智能和识别能力。 但据微软首席语音科学家黄学东称,微软的CNTK工具包比我们此前所见过的任何工具包都更加疯狂,同时性能也更加强悍。 事实上,CNTK还具有着更为强大的可扩展性——开发者可以用多台计算机实现GPU的扩展,从而能够更加灵活的应对大规模的实验。
安装\CNTK-2-0-beta4-0-Windows-64bit-GPU-1bit-SGD 安装必要环境: E:\cntk安装\CNTK-2-0-beta3-0-Windows-64bit-GPU-1bit-SGD --file E:\zhangxiong\cntk安装\CNTK-2-0-beta4-0-Windows-64bit-GPU-1bit-SGD\cntk\Scripts\install\windows E:\cntk安装\CNTK-2-0-beta4-0-Windows-64bit-GPU-1bit-SGD\cntk\cntk\Python\cntk-2.0.beta4.0-cp34-cp34m-win_amd64 设置环境变量: setx PATH=E:\cntk安装\CNTK-2-0-beta4-0-Windows-64bit-GPU-1bit-SGD\cntk\cntk;%PATH% 测试验证安装是否成功 进入 \cntk\Examples\Speech\AN4\Data 输入命令: cntk configFile=..
今天下午,在北京举行的GTC CHINA 2016(GPU技术大会)中,英伟达深度学习研究院对CNTK中图像识别功能进行了简单介绍。 首先,我们来了解下CNTK。 CNTK的总体架构如上图所示,这里我们可以简单地分几部分进行理解,分别是上中下和左中右两种理解逻辑。先说上中下部分,最下面的包含IDataReader这一层可以理解为基础的数据。 可以说CNTK的总体架构,描述了一个典当行学徒的从入门到精通的学习过程。从样本训练自己,形成自己的能力,然后使用其所学。 根据研究人员的描述,由于具备更为优秀的交互能力,CNTK工具包中图像识别速度比另外四个当下主流的计算工具包都更加受开发者的欢迎。 ? 在微软最新发布的CNTK1.7版本中,CNTK已经支持英伟达的最新的深度神经网络资料库cuDNN5.1。 其实在Facebook、百度等巨头的人工智能研究中,经常用到英伟达的GPU。
文件 mnist_test_100_cntk.txt 具有 100 个映像,并使用相同的 CNTK 友好格式。 在大多数神经网络问题中,你想要规范化预测因子值。 由于 CNTK 正年轻和持续开发,它最好添加注释,详述使用哪一版本 (在此情况下 2.4)。 安装 CNTK 可能会需要一些技巧,如果您是初次接触 Python 世界。 请注意;我见过的几乎所有 CNTK 安装失败都是由于 ANACONDA-CNTK 版本不兼容。 这是 CNTK 的不同寻常之处,因为 CNTK 定型函数需要使用未激活的原始值。Dnn 对象是只是便捷别名。model 对象包含 softmax 激活函数,以便在定型后用于预测。 在 CNTK 中,保存所示: mdl_name = ".\\Models\\mnist_dnn.model" model.save(mdl_name) 这会保存使用默认的 CNTK v2 格式。
原标题:当TensorFlow遇见CNTK CNTK是微软用于搭建深度神经网络的计算网络工具包,此项目已在Github上开源。 CNTK有一套极度优化的运行系统来训练和测试神经网络,它是以抽象的计算图形式构建。如此看来,CNTK和TensorFlow长得非常相似。但是,它们有一些本质上的区别。 你是否注意到我们使用了与CNTK相同的一组变量,只不过这里我们把它称作变量,而在CNTK称作参数。维度也略有不同。 CNTK和TensorFlow都是通过符号化分析流程图来计算梯度下降训练算法中所用到的梯度值。CNTK组给出了一本非常赞的“书”来阐述梯度是如何计算的。 我却无法用CNTK来实现,不过这可能是由于我的无知,而不是CNTK的局限性。如果有人能提示我该怎么做,我会很感激的)。 在LSTM递归神经网络的例子里,我发现CNTK的版本相当的透明。
用CNN评估Caffe- MPI, CNTK, MXNet 和 TensorFlow四个深度学习框架性能 近年来,深度学习技在许多AI应用上获得了巨大的成功。 亚马逊采纳了MXNet作为亚马逊云服务(AWS)主要的深度学习框架,谷歌在谷歌云上使用TensorFlow,微软在Amazon Azure上部署CNTK。 这篇论文扩展了此前的工作——用DNN 评估了四个分布式深度学习工具(即,Caffe-MPI, CNTK, MXNet 和 TensorFlow)在GPU集群上的表现。 CNTK 和 MXNet都展示了cuDNN的autotune configuration,在前向或者反向传播中,这都能带来更好的性能。 我们首先构建了性能模型来测量同步SGD的加速,包括Caffe-MPI, CNTK, MXNet 和 TensorFlow的不同实现。
Keras 配置文件中有一个参数决定了使用哪一个深度学习框架作为后端,因此我们可以构建一个相同的模型在不同的深度学习框架(如 TensorFlow、CNTK、Theano)上直接运行。 而按照准确度/收敛速度来说,CNTK 在前 25 个 epoch 中领先一点,而在 50 个 epoch 后,其他框架都到达相近的准确度,而 CNTK 却略微下降。 ? ? 该测试并没有使用 MXNet,TensorFlow 和 Theano 在每一个 epoch 上要比 CNTK 要快了一倍多。 ? ? 结语 ? CNTK 在 Babi RNN 和 MNIST RNN 测试上要比 TensorFlow 和 Theano 好得多,但是在 CNN 测试上要比 TensorFlow 差一些。 MXNet 在 RNN 测试上要比 CNTK 和 TensorFlow 要好一点,此外它在 MLP 上要比所有框架的性能都要好。
对此,微软做出了一个举动,26日正式宣布已经在Github上向外部开发人员开源了它的人工智能工具包CNTK(Computational Network Toolkit)。 我们不得不承认的是,微软在深度学习和人工智能领域确实投入了相当大的成本,这些现代化开发工具被叫做计算网络工具包(CNTK),此举是希望能够在机器学习领域上取得更多的突破。 微软研究人员表示:由于其本身优秀的交互能力,CNTK工具包中的语音和图像识别速度比目前市场上主流的另外四个计算机工具包更受开发者的欢迎。深度学习仅需要数周就可以完成,因此这算是微软一个很不错的成就。 2015年,谷歌开源了用于图片搜索功能的TensorFlow机器学习系统,对此,微软的首席语音科学家黄学东表示,微软的这一款CNTK工具包比之前见过的任何一款工具包都好都疯狂,性能上更为强悍。 此外,CNTK还具有非常强大的可扩展性,开发人员可以使用多台计算机实现CPU的扩展,可以在大规模的试验中表现的更加灵活。
近日微软更新了自家开源深度学习工具包CNTK,新的版本号为2.3,带来了多项性能改进。 从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版本。 有需要的研究人员和开发者请到CNTK的github(http://t.cn/RbmuElb)马上更新吧。
CNTK v2.0 还有一个关键特性:兼容 Keras。就在上周,对 CNTK 后端的支持被合并到官方的 Keras 资源库(repository)中。 我稍微调整了 Docker 容器(GitHub 网址 https://github.com/minimaxir/keras-cntk-docker),容器安装了 CNTK、与 CNTK 兼容的 Keras 版本,并设置 CNTK 为 Keras 的默认后端。 哇,CNTK 比 TensorFlow 快很多! 显然,我的模型架构导致 CNTK 在预测时遇到错误,而「CNTK+简单的 LSTM」架构并没有发生这种错误。
【新智元导读】微软今天发布了深度学习工具包CNTK的2.0版本,新版本增加了支持 Keras 的 CNTK 后端,Java API,模型评估的 Spark 支持,模型压缩等新功能,微软全球技术院士黄学东称其比同类产品快 这是一个开源的深度学习工具包,以前的名字是 CNTK,是微软对应竞争对手的TensorFlow,Caffe 和 Torch 的工具。 GitHub地址:https://github.com/microsoft/cntk Cognitive Toolkit 2.0 新功能: 支持 Keras 的 CNTK 后端 使用 Halide 非常快的二进制卷积
【新智元导读】夜间重磅,微软Facebook联手发布AI生态系统,推出 Open Neural Network Exchange(ONNX,开放神经网络交换)格式,这是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。ONNX是迈向开放生态系统的第一步,AI开发人员可以轻松地在最先进的工具之间转换,并选择最适合他们的组合。但是,现在系统支持的框架只有Caffe2,PyTorch 和Cognitive Toolkit ,谷歌的TensorFlow并没有被包含在内。在TensorFlow的市场份额
这其实也是CNTK未来迭代的核心诉求。 CNTK加速模型训练速度 CSDN:您认为CNTK在语音识别算法开发中的优势如何体现? 俞栋:就我个人所知,许多新的语音识别模型都是基于CNTK开发的。 我们一开始开发CNTK主要就是为语音识别的研究服务的。即使今天CNTK能方便地支持图像、视频、文本、以及其他信息的处理,它对于语音识别模型的支持仍然比较好。 CNTK非常灵活,它支持各种主流模型,比如 DNN、CNN、LSTM,同时可以自定义各种新模型,比如PIT模型和PAC模型就都是完全由CNTK构建的。 CSDN:CNTK可扩展GPU的能力值得称道,但大规模部署GPU能耗同样不小,现在有不少FPGA、ASIC加速方案的尝试,CNTK会做类似扩展的考虑吗?
安装 Keras 和 CNTK pip install keras pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3-cp27-cp27mu-linux_x86 你将得到文件 converted_cntk.py,包括构建 Inception V3 网络的原始 CNTK 代码。 转存原始 CNTK 模型 $ python -m mmdnn.conversion.examples.cntk.imagenet_test -n converted_cntk -w converted.npy CNTK model file is saved as [cntk_inception_v3.dnn], generated by [converted_cntk.py] and [converted.npy CNTK 可直接加载文件 cntk_inception_v3.dnn。 本文为机器之心编译,转载请联系本公众号获得授权。
仅用一块GPU卡的话,FCN上Caffe、CNTK和Torch比MXNet和TensorFlow表现更好;CNN上MXNet表现出色,尤其是在大型网络时;而Caffe和CNTK在小型CNN上同样表现不俗 CNTK是一个由微软研究院开发的工具包,支持大部分流行的神经网络。 CNTK:使用MPI作为GPU之间的数据通信方法。 ResNet-56:MXNet最优,其次是Caffe、CNTK 和Torch,这三个接近。最后是TensorFlow。 LSTM:CNTK全面超越其他工具。 因此,即使使用大型网络,CNTK的可伸缩性也依旧表现良好。
随后是Caffe、PyTorch和Theano,再次是MXNet、Chainer和CNTK。 ;而Caffe和CNTK在小型CNN上同样表现不俗;对于带LSTM的RNN,CNTK速度最快,比其他工具好上5到10倍。 多GPU卡环境下,CNTK平台在FCN和AlexNet上的可扩展性更好,而MXNet和Torch在CNN上相当出色。 2014年就是Caffe,微软2015年开源了CNTK,接下来谷歌也开源了他们相应的开发平台。 除了TensorFlow,Keras也可以使用Theano或者CNTK作为后端。 其他框架和公司合纵连横——中国框架何时才能上榜?
随后是Caffe、PyTorch和Theano,再次是MXNet、Chainer和CNTK。 Keras作者Fran? ;而Caffe和CNTK在小型CNN上同样表现不俗;对于带LSTM的RNN,CNTK速度最快,比其他工具好上5到10倍。 多GPU卡环境下,CNTK平台在FCN和AlexNet上的可扩展性更好,而MXNet和Torch在CNN上相当出色。 2014年就是Caffe,微软2015年开源了CNTK,接下来谷歌也开源了他们相应的开发平台。 除了TensorFlow,Keras也可以使用Theano或者CNTK作为后端。 其他框架和公司合纵连横——中国框架何时才能上榜?
CNTK分析 CNTK是MSRA开源的深度学习框架。在语音识别领域的使用尤其广泛。CNTK设计是性能导向的,从各种成绩上来看是非常的卓越——对,比Tensorflow厉害! CNTK这个框架也很尴尬的和Tensorflow一样,对Python的支持又是只支持Python3.5 但是CNTK有个非常非常非常尴尬的一个局面: 真的!真的!很复杂! 、想研究CNTK的筒子们可以直接爬下来。 性能是真的比Tensorflow高,同时你能用CNTK弄好,也代表了你的实力,毕竟CNTK的的确确的比Tensorflow更复杂一点,但是还是可以接受的。 Reference MNIST数据 Kears文档 CNTK PythonAPI CNTK Python配置
作者 | Jasmeet Bhatia 编译 | KK4SBB 本文将对目前流行的几种Keras支持的深度学习框架性能做一次综述性对比,包括Tensorflow、CNTK、MXNet和Theano。 就准确率/收敛速度而言,CNTK在第25轮迭代之时略微领先,不过第50轮迭代之后所有框架的准确率几乎趋同。 Tensorflow和Theano的性能差不多,CNTK比它们快了50%,只需9.5s/epoch。 CNTK在 BAbi RNN 和 MNIST RNN 实验中的表现远远好于Tensorflow和Theano,但是在CNN实验中不及Tensorflow。 Theano在MLP实验中的性能略好于Tensorflow和CNTK。 总结 从实验结果来看,所有框架都有各自擅长的领域,目前并没有哪一种框架能够全面碾压其它产品。