- Microsoft认知工具包(CNTK)教程
- 首页
- 简介
- 入门
- CPU和GPU
- CNTK - 序列分类
- CNTK - 逻辑回归模型
- CNTK - 神经网络(NN)概念
- CNTK - 创建第一个神经网络
- CNTK - 训练神经网络
- CNTK - 内存数据集和大型数据集
- CNTK - 测量性能
- 神经网络分类
- 神经网络二元分类
- CNTK - 神经网络回归
- CNTK - 分类模型
- CNTK - 回归模型
- CNTK - 内存外数据集
- CNTK - 监控模型
- CNTK - 卷积神经网络
- CNTK - 循环神经网络
- Microsoft认知工具包资源
- Microsoft认知工具包 - 快速指南
- Microsoft认知工具包 - 资源
- Microsoft认知工具包 - 讨论
Microsoft认知工具包(CNTK) - 简介
在本章中,我们将学习什么是CNTK,它的功能,其1.0版和2.0版之间的区别以及2.7版的重点。
什么是Microsoft认知工具包(CNTK)?
Microsoft认知工具包(CNTK),以前称为计算网络工具包,是一个免费、易用、开源、商用级的工具包,它使我们能够训练深度学习算法,使其像人脑一样学习。它使我们能够创建一些流行的深度学习系统,例如**前馈神经网络时间序列预测系统和卷积神经网络(CNN)图像分类器**。
为了获得最佳性能,其框架功能是用C++编写的。虽然我们可以使用C++调用其函数,但最常用的方法是使用Python程序。
CNTK的功能
以下是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提供各种组件来衡量您构建的神经网络的性能。
从您的模型和相关的优化器生成日志数据,我们可以使用它来监控训练过程。
1.0版与2.0版
下表比较了CNTK 1.0版和2.0版
1.0版 | 2.0版 |
---|---|
它于2016年发布。 | 它是1.0版的重大重写,于2017年6月发布。 |
它使用了一种称为BrainScript的专有脚本语言。 | 其框架功能可以使用C++、Python调用。我们可以轻松地在C#或Java中加载我们的模块。BrainScript也受2.0版支持。 |
它在Windows和Linux系统上运行,但不能直接在Mac OS上运行。 | 它也在Windows(Win 8.1、Win 10、Server 2012 R2及更高版本)和Linux系统上运行,但不能直接在Mac OS上运行。 |
2.7版的重要亮点
**2.7版**是Microsoft认知工具包的最后一个主要发布版本。它完全支持ONNX 1.4.1。以下是此最后一个发布版本的CNTK的一些重要亮点。
完全支持ONNX 1.4.1。
支持Windows和Linux系统的CUDA 10。
它支持ONNX导出中的高级循环神经网络(RNN)循环。
它可以导出超过2GB的ONNX格式模型。
它支持BrainScript脚本语言的训练操作中的FP16。