- 微软认知工具包(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 版本的重要亮点。
什么是微软认知工具包 (CNTK)?
微软认知工具包(CNTK),以前称为计算网络工具包,是一个免费、易于使用、开源、商业级的工具包,使我们能够训练深度学习算法,像人脑一样学习。它使我们能够创建一些流行的深度学习系统,例如前馈神经网络时间序列预测系统和卷积神经网络(CNN)图像分类器。
为了获得最佳性能,其框架函数是用 C++ 编写的。虽然我们可以使用C++调用它的函数,但最常用的方法是使用Python程序。
CNTK的特点
以下是最新版本的 Microsoft CNTK 中提供的一些特性和功能:
内置组件
CNTK 具有高度优化的内置组件,可以处理来自 Python、C++ 或 BrainScript 的多维密集或稀疏数据。
我们可以通过注意力机制实现 CNN、FNN、RNN、Batch Normalization 和 Sequence-to-Sequence。
它为我们提供了从 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 加载我们的模块。2.0 版也支持 BrainScript。 |
它可以在 Windows 和 Linux 系统上运行,但不能直接在 Mac OS 上运行。 | 它还可以在 Windows(Win 8.1、Win 10、Server 2012 R2 及更高版本)和 Linux 系统上运行,但不能直接在 Mac OS 上运行。 |
2.7 版本的重要亮点
2.7 版是 Microsoft Cognitive Toolkit 的最后一个主要发布版本。它完全支持 ONNX 1.4.1。以下是 CNTK 最后发布版本的一些重要亮点。
完全支持 ONNX 1.4.1。
支持 Windows 和 Linux 系统的 CUDA 10。
它支持 ONNX 导出中的高级循环神经网络 (RNN) 循环。
它可以以 ONNX 格式导出超过 2GB 的模型。
它支持 BrainScript 脚本语言的训练动作中的 FP16。