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和优步。

Keras

茶野

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

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 ML

运用 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 处理资源分配以优化训练和部署。

AWS SageMaker

Amazon 为开发人员提供 API,以便为其应用程序添加智能。在某些情况下,如果云端有强大的预训练模型,则无需重新发明轮子,从头开始构建新模型。 Amazon 为计算机视觉、对话聊天机器人和语言服务提供 API 服务:

三个主要可用的 API 是:

  • Amazon 重新认识: 为应用程序提供图像和视频识别
  • Amazon 理解: 执行文本挖掘和神经语言处理,例如,自动检查财务文件合法性
  • Amazon Lex: 将聊天机器人添加到应用程序

Azure 机器学习工作室

机器学习最友好的方法之一可能是 Azure 机器学习工作室。该解决方案的显著优势在于无需任何编程知识。

Microsoft Azure Machine Learning Studio 是一款拖放式协作工具,用于创建、训练、评估和部署机器学习解决方案。该模型可以高效地部署为 Web 服务,并在 Excel 等多个应用程序中使用。

Azure 机器学习界面是交互式的,用户只需快速拖放元素即可构建模型。

Azure 机器学习工作室

当模型准备就绪后,开发人员可以保存并推送至 Azure 展示台 or Azure 卖场。

Azure 机器学习可以集成到 R 或 Python 他们定制的内置包。

IBM Watson ML

Watson Studio 可以通过简化的流程简化数据项目,该流程允许从数据中提取价值和见解,以帮助企业变得更智能、更快速。Watson Studio 提供了一个易于使用的协作数据科学和机器学习环境,用于构建和训练模型、准备和分析数据以及共享见解,所有这些都在一个地方完成。Watson Studio 易于使用,只需拖放代码即可。

IBM Watson ML

Watson Studio 支持一些最流行的框架,如 Tensorflow、Keras、Pytorch、Caffe,并可以在 Nvidia 最新的 GPU 上部署深度学习算法,以帮助加速建模。

总结

在我们看来,Google 云解决方案是最值得推荐的。Google 云解决方案为数据存储和机器学习解决方案提供的价格比 AWS 低至少 30%。谷歌在使人工智能民主化方面做得非常出色。它开发了一种开源语言 TensorFlow,经过优化 数据仓库 连接,提供从数据可视化、数据分析到机器学习的大量工具。此外,Google Console 符合人体工程学,比 AWS 或 Windows.