图式模型描述
把神经网络描述为一系列计算步骤,通过有向图表达,便于组合与调试自定义结构,是 CNTK 组织模型的基本方式。
官方说明 ↗拖动滑块完成拼图,通过后发送验证码
独立第三方 AI 评测平台 · 只用实测数据
微软开源、面向商业级分布式深度学习的神经网络工具包
Microsoft Cognitive Toolkit(CNTK)是微软推出的开源深度学习工具包,面向商业级分布式训练,把神经网络描述为有向图上的计算步骤,可组合前馈 DNN、CNN 与 RNN/LSTM,并实现带自动微分的 SGD 与多 GPU、多服务器并行。最新发布版本为 2.7,可作为库嵌入 Python、C#、C++ 程序,或通过自有模型描述语言 BrainScript 独立使用,Java 程序也可调用其模型评估功能。它支持 64 位 Linux 或 64 位 Windows,并是最早支持 ONNX 格式的工具包之一,当前支持 ONNX v1.0。页面已注明 CNTK 不再积极开发,这限制了它对新建项目的推荐度。
Microsoft Cognitive Toolkit(简称 CNTK)是微软推出的开源工具包,用于商业级分布式深度学习。它把神经网络描述为一系列计算步骤,通过有向图来表达,面向需要训练与组合复杂模型的开发者、研究人员与工程团队。
据官方页面,CNTK 允许用户方便地实现并组合常见模型类型,例如前馈 DNN、卷积神经网络 CNN 和循环神经网络 RNN/LSTM;它实现了带自动微分的随机梯度下降(SGD,误差反向传播)学习,并可跨多个 GPU 和服务器并行。页面 NOTE 明确说明 CNTK 不再积极开发,最终大版本的细节见发布说明;最新发布版本为 2.7。
在使用形态上,CNTK 可以作为库嵌入 Python、C#、C++ 程序,也可以通过其自有模型描述语言 BrainScript 作为独立机器学习工具使用,Java 程序还能调用其模型评估功能。它支持 64 位 Linux 或 64 位 Windows,安装方式可选预编译二进制包,或用 GitHub 提供的源码自行编译。
把神经网络描述为一系列计算步骤,通过有向图表达,便于组合与调试自定义结构,是 CNTK 组织模型的基本方式。
官方说明 ↗实现随机梯度下降(SGD,误差反向传播)学习并带自动微分,可跨多个 GPU 和服务器并行,面向商业级分布式训练场景。
官方说明 ↗可方便地实现并组合前馈 DNN、卷积神经网络 CNN、循环神经网络 RNN/LSTM 等流行模型类型,覆盖主流网络结构。
官方说明 ↗可作为库嵌入 Python、C#、C++ 程序中使用;Java 程序可以调用 CNTK 的模型评估功能,便于接入既有工程栈。
官方说明 ↗通过其自有模型描述语言 BrainScript 可把 CNTK 当作独立机器学习工具使用,不必依赖宿主编程语言即可定义与训练模型。
官方说明 ↗1-bit 随机梯度下降(1-bit SGD)不再需要单独许可证,改按 GitHub 提供的许可证提供,降低了使用该训练技术的门槛。
官方说明 ↗CNTK 是最早支持开放神经网络交换 ONNX 格式的深度学习工具包之一,当前版本支持 ONNX v1.0,便于跨框架迁移模型。
官方说明 ↗支持 64 位 Linux 或 64 位 Windows 操作系统;安装可选预编译二进制包,或使用 GitHub 提供的源码自行编译。
官方说明 ↗把 CNTK 当作研究深度学习分布式训练原理、维护已有 CNTK 项目的工具是合适的:它把神经网络表达为有向图,支持跨多个 GPU 和服务器并行,并支持 ONNX v1.0,2.7 版本仍在官方页面可查。但页面 NOTE 已写明 CNTK 不再积极开发,若目标是新建生产项目或获得持续的功能迭代,需要谨慎评估。它支持 64 位 Linux 或 64 位 Windows,并提供预编译二进制包与源码编译两条路径,适合能自行处理环境与编译的团队。
CNTK 面向商业级分布式深度学习,支持跨多个 GPU 和服务器并行,适合研究大规模训练流程。
可作为库嵌入 Python、C#、C++ 程序,直接在既有工程中使用,接入成本相对可控。
Java 程序可调用 CNTK 的模型评估功能,适合只需推理、不重训的既有 Java 服务。
页面 NOTE 已说明 CNTK 不再积极开发,新建长期项目需自行承担缺少后续迭代的风险。
需自行处理 64 位 Linux 或 64 位 Windows 环境、预编译包或 GitHub 源码编译,上手门槛不低。
官网未提及任何价格、套餐或收费说明,官方页面只把它描述为开源工具包,并提到 1-bit SGD 不再需要单独许可证、改按 GitHub 提供的许可证提供。实际授权条件请以官方页面与 GitHub 仓库为准。
官方最新发布版本为 2.7,且最新版本支持 ONNX v1.0。页面同时用 NOTE 说明 CNTK 不再积极开发,最终大版本的细节见发布说明。也就是说 2.7 是当前可查的最新发布版本。
CNTK 是最早支持开放神经网络交换 ONNX 格式的深度学习工具包之一,ONNX 由微软与他人共同开发,用于框架互操作与共享优化。涉及 ONNX 可让开发者在 CNTK、Caffe2、MXNet、PyTorch 等框架之间移动模型,最新版本支持 ONNX v1.0。
CNTK 可作为库嵌入 Python、C#、C++ 程序,Java 程序可使用其模型评估功能,也可通过自有模型描述语言 BrainScript 作为独立工具使用。操作系统方面支持 64 位 Linux 或 64 位 Windows,安装可选预编译二进制包或从 GitHub 源码编译。
网络访问或地域限制的任何说明。可以确认的是它支持 64 位 Linux 或 64 位 Windows,并可通过预编译二进制包或 GitHub 源码两种方式安装,具体获取渠道请以官方页面为准。
页面以 NOTE 形式明确写出 CNTK 不再积极开发,并指向最终大版本的发布说明。这意味着新项目不会获得持续的功能更新。已有 CNTK 代码与模型的团队继续维护是合理的,但从零起步的生产项目需要自行权衡这一风险。
| 工具 | 编辑评分 | 价格 | 核心功能 | 平台 |
|---|---|---|---|---|
| Microsoft Cognitive Toolkit本工具 | 4.2 | 未标价 | 图式模型描述;多 GPU 与多机并行;常见模型类型;多语言嵌入 | Web / API |
| DeepSpeed | — | 未标价 | DeepSpeed 是一个深度学习优化软件套件,由微软团队开发 | — |
| AIGC Chain | — | 未标价 | AIGC Chain 是 AIGC 模型的分布式基础设施,为人们的数字生活赋能,任何人都可以轻 | — |
| PyTorch | — | 未标价 | PyTorch 是一个开源深度学习框架,提供了丰富的工具和库,支持计算机视觉、自然语言处理 | Web / Linux / Mac |
| 飞桨 PaddlePaddle 开发者社区 | — | 未标价 | 飞桨是百度基于多年深度学习技术研究和业务应用打造的产业级深度学习平台 | — |
| Unity Sentis | — | 仅限 Unity 邀请的 private beta | Unity 深度学习推理库 | Unity 支持的所有平台 / Editor |