TensorFlow、Theano、Torch、Keras:深度学习库
人工智能自 2016 年以来越来越受欢迎,20% 的大公司在其业务中使用人工智能(麦肯锡 报告,2018 年)。根据同一报告,人工智能可以为各个行业创造巨大价值。例如,在银行业,人工智能的潜力估计为 $300 亿,零售业数字飙升至 $600亿
为了释放人工智能的潜在价值,公司必须选择正确的深度学习框架。在本教程中,您将了解可用于执行深度学习任务的不同库。一些库已经存在多年,而像 TensorFlow 这样的新库近年来才出现。
8 个最佳深度学习库/框架
在此列表中,我们将比较顶级的深度学习框架。它们都是开源的,在数据科学家社区中很受欢迎。我们还将比较流行的 ML 即服务提供商
火炬
Torch 是一个古老的开源机器学习库。它于 15 年前首次发布。它的主要编程语言是 LUA,但有一个 C 实现。比较 PyTorch 和 TensorFlow,它支持大量机器学习算法库,包括深度学习。它支持并行计算的 CUDA 实现。
Torch 深度学习工具被大多数领先的实验室使用,例如 Facebook、Google、Twitter、Nvidia 等。Torch 有一个库 Python 名字叫 Pytorch。
推理网
Infer.net 由以下公司开发和维护 Microsoft。Infer.net 是一个主要关注贝叶斯统计的库。Infer.net 是一个深度学习可视化工具,旨在为从业者提供最先进的概率建模算法。该库包含 分析工具 例如贝叶斯分析、隐马尔可夫链、聚类。
Keras
Keras 是一个 Python 深度学习框架。这是一个方便构建任何深度学习算法的库。Keras 的优点是它使用相同的 Python 代码可以在 CPU 或 GPU 上运行。此外,编码环境是纯净的,可以训练最先进的计算机视觉、文本识别等算法。
Keras 是由谷歌研究员 François Chollet 开发的。CERN、Yelp、Square 和谷歌等知名组织都在使用 Keras。 Netflix和优步。
茶野
Theano 是蒙特利尔大学于 2007 年开发的深度学习库。与 TensorFlow 相比,Theano 提供快速计算,可在 CPU 和 GPU 上运行。Theano 已被开发用于训练深度神经网络算法。
Microsoft 认知工具包(CNTK)
Microsoft 工具包,以前称为 CNTK,是由 Microsoft。 根据 Microsoft,该库是市场上最快的库之一。 Microsoft toolkit 是一个开源库,尽管 Microsoft 正在广泛地将其应用于其产品中,例如 Skype、Cortana、Bing 和 Xbox。该工具包提供 Python 和 C++.
MX网
MXnet 是一个最新的深度学习库。它可以通过多种编程语言访问,包括 C++朱莉娅, Python 和 R。MXNet 可以配置为在 CPU 和 GPU 上工作。MXNet 包括最先进的深度学习架构,如卷积神经网络和长短期记忆。MXNet 是为在 harmony 具有动态云基础设施。MXNet 的主要用户是 Amazon
咖啡
Caffe 是贾扬清在伯克利读博士时建立的一个库。比较 Caffe 和 TensorFlow,Caffe 是用 C++ 并且可以在 CPU 和 GPU 上执行计算。Caffe 的主要用途是卷积神经网络。不过,在 2017 年,Facebook 扩展了 Caffe,增加了更多深度学习架构,包括循环神经网络。Caffe 不仅被学术界和初创公司使用,还被雅虎等一些大公司使用。
TensorFlow
TensorFlow 是 Google 的开源项目。TensorFlow 是当今最著名的深度学习库。它于 2015 年底向公众发布
TensorFlow 是在 C++ 并具有便捷 Python API,尽管 C++ API 也已可用。空中客车、谷歌等知名公司 IBM 等都在使用TensorFlow制作深度学习算法。
TensorFlow、Theano、Torch、Keras、infer.net、CNTK、MXNet、Caffe:主要区别
自学资料库 | 平台 | 写入 | 库达支持 | 并行执行 | 拥有训练有素的模型 | RNN | CNN |
---|---|---|---|---|---|---|---|
火炬 | Linux中, macOS, Windows | LUA | Yes | Yes | Yes | Yes | Yes |
推理网络 | Linux中, macOS, Windows | Visual Studio中 | 没有 | 没有 | 没有 | 没有 | 没有 |
Keras | Linux中, macOS, Windows | Python | Yes | Yes | Yes | Yes | Yes |
茶野 | 跨平台 | Python | Yes | Yes | Yes | Yes | Yes |
TensorFlow | Linux中, macOS, Windows, Android | C++, Python, CUDA | Yes | Yes | Yes | Yes | Yes |
微软认知工具包 | Linux中, Windows,使用 Docker 的 Mac | C++ | Yes | Yes | Yes | Yes | Yes |
咖啡 | Linux中, macOS, Windows | C++ | Yes | Yes | Yes | Yes | Yes |
MX网 | Linux中, Windows, macOS, Android,IOS, Javascript | C++ | Yes | Yes | Yes | Yes | Yes |
总结
TensorFlow 是最好的库,因为它是为所有人而构建的。Tensorflow 库结合了不同的 API,可以构建大规模深度学习架构,如 CNN 或 RNN。TensorFlow 基于图形计算,它允许开发人员使用可视化神经网络的构造 TensorBoad。此工具有助于调试程序。最后,Tensorflow 可以大规模部署。它在 CPU 和 GPU 上运行。
与其他深度学习库相比,Tensorflow 在 GitHub 上最受欢迎。
比较机器学习即服务
以下是 4 个流行的 DL 服务提供商
Google Cloud ML
Google 为开发人员提供了 Cloud AutoML 中可用的预训练模型。此解决方案适用于没有相关背景的开发人员 机器学习。开发人员可以在他们的数据上使用最先进的 Google 预训练模型。它允许任何开发人员在短短几分钟内训练和评估任何模型。
Google 目前为计算机视觉、语音识别、翻译和 NLP 提供了 REST API。
运用 Google Cloud,您可以训练基于 TensorFlow、Scikit-learn、XGBoost 或 Keras 构建的机器学习框架。 Google Cloud 机器学习将通过云端训练模型。
使用 Google 云计算的优势在于,将机器学习部署到生产环境中非常简单。无需设置 Docker 容器。此外,云负责基础设施。它知道如何使用 CPU、GPU 和 TPU 分配资源。它通过并行计算加快了训练速度。
AWS SageMaker
主要竞争对手 Google Cloud is Amazon 云计算, AWS. Amazon 已经开发 Amazon SageMaker 允许数据科学家和开发人员构建、训练和投入生产任何机器学习模型。
SageMaker 提供 Jupyter Notebook 包含最常用的机器学习库,TensorFlow、MXNet、Scikit-learn 等。使用 SageMaker 编写的程序会自动在 Docker 容器中运行。 Amazon 处理资源分配以优化训练和部署。
Amazon 为开发人员提供 API,以便为其应用程序添加智能。在某些情况下,如果云端有强大的预训练模型,则无需重新发明轮子,从头开始构建新模型。 Amazon 为计算机视觉、对话聊天机器人和语言服务提供 API 服务:
三个主要可用的 API 是:
- Amazon 重新认识: 为应用程序提供图像和视频识别
- Amazon 理解: 执行文本挖掘和神经语言处理,例如,自动检查财务文件合法性
- Amazon Lex: 将聊天机器人添加到应用程序
Azure 机器学习工作室
机器学习最友好的方法之一可能是 Azure 机器学习工作室。该解决方案的显著优势在于无需任何编程知识。
Microsoft Azure Machine Learning Studio 是一款拖放式协作工具,用于创建、训练、评估和部署机器学习解决方案。该模型可以高效地部署为 Web 服务,并在 Excel 等多个应用程序中使用。
Azure 机器学习界面是交互式的,用户只需快速拖放元素即可构建模型。
当模型准备就绪后,开发人员可以保存并推送至 Azure 展示台 or Azure 卖场。
Azure 机器学习可以集成到 R 或 Python 他们定制的内置包。
IBM Watson ML
Watson Studio 可以通过简化的流程简化数据项目,该流程允许从数据中提取价值和见解,以帮助企业变得更智能、更快速。Watson Studio 提供了一个易于使用的协作数据科学和机器学习环境,用于构建和训练模型、准备和分析数据以及共享见解,所有这些都在一个地方完成。Watson Studio 易于使用,只需拖放代码即可。
Watson Studio 支持一些最流行的框架,如 Tensorflow、Keras、Pytorch、Caffe,并可以在 Nvidia 最新的 GPU 上部署深度学习算法,以帮助加速建模。
总结
在我们看来,Google 云解决方案是最值得推荐的。Google 云解决方案为数据存储和机器学习解决方案提供的价格比 AWS 低至少 30%。谷歌在使人工智能民主化方面做得非常出色。它开发了一种开源语言 TensorFlow,经过优化 数据仓库 连接,提供从数据可视化、数据分析到机器学习的大量工具。此外,Google Console 符合人体工程学,比 AWS 或 Windows.