📅  最后修改于: 2020-12-10 04:58:36             🧑  作者: Mango
在本章中,我们将学习什么是CNTK,其功能,1.0和2.0版之间的区别以及2.7版的重要亮点。
Microsoft Cognitive Toolkit(CNTK),以前称为Computational Network Toolkit,是一种免费,易于使用的开源商业级工具包,使我们能够训练深度学习算法来像人脑一样学习。它使我们能够创建一些流行的深度学习系统,例如前馈神经网络时间序列预测系统和卷积神经网络(CNN)图像分类器。
为了获得最佳性能,其框架功能使用C++编写。尽管我们可以使用C++调用其函数,但是最常用的方法是使用Python程序。
以下是最新版本的Microsoft CNTK中提供的一些功能:
CNTK具有高度优化的内置组件,可以处理来自Python,C++或BrainScript的多维密集或稀疏数据。
我们可以注意实现CNN,FNN,RNN,批处理规范化和序列到序列。
它为我们提供了从Python在GPU上添加新的用户定义的核心组件的功能。
它还提供自动超参数调整。
我们可以实施强化学习,生成对抗网络(GAN),监督学习和无监督学习。
对于海量数据集,CNTK具有内置的优化读取器。
CNTK通过1位SGD在多个GPU /机器上为我们提供了高精度的并行性。
为了适合GPU内存中最大的模型,它提供了内存共享和其他内置方法。
CNTK具有完整的API,用于定义您自己的网络,学习者,读者, Python,C++和BrainScript的培训和评估。
使用CNTK,我们可以轻松地使用Python,C++,C#或BrainScript评估模型。
它提供了高级和低级API。
根据我们的数据,它可以自动塑造推理。
它具有完全优化的符号递归神经网络(RNN)循环。
CNTK提供了各种组件来衡量您构建的神经网络的性能。
从您的模型和关联的优化器生成日志数据,我们可以使用它们来监视训练过程。
下表比较了CNTK版本1.0和2.0:
Version 1.0 | Version 2.0 |
---|---|
It was released in 2016. | It is a significant rewrite of the 1.0 Version and was released in June 2017. |
It used a proprietary scripting language called BrainScript. | Its framework functions can be called using C++, Python. We can easily load our modules in C# or Java. BrainScript is also supported by Version 2.0. |
It runs on both Windows and Linux systems but not directly on Mac OS. | It also runs on both Windows (Win 8.1, Win 10, Server 2012 R2 and later) and Linux systems but not directly on Mac OS. |
2.7版是Microsoft Cognitive Toolkit的最后一个主要发行版本。它完全支持ONNX 1.4.1。以下是该CNTK的最新发行版的一些重要亮点。
完全支持ONNX 1.4.1。
Windows和Linux系统均支持CUDA 10。
它支持ONNX导出中的高级递归神经网络(RNN)循环。
它可以以ONNX格式导出2GB以上的模型。
它在BrainScript脚本语言的训练操作中支持FP16。