TensorFlow工具快速入门教程6 深度学习库比较

什么是TensorFlow简介

自2016年以来,人工智能越来越受欢迎,20%的大公司在其业务中使用人工智能(麦肯锡报告,2018年 report )。根据同一报告,AI可以为各行业创造巨大价值。例如,在银行业,人工智能的潜力估计为3000亿美元,零售业的数量猛增至6000亿美元。

为了释放人工智能的潜在价值,公司必须选择正确的深度学习框架。

8个最佳深度学习库/框架

在此列表中,我们将比较顶级的深度学习框架。所有这些都是开源的,并且在数据科学家社区中很受欢迎。

  • Torch

Torch是一个古老的开源机器学习库。它首次发布于15年前。它是主要的编程语言是LUA,但在C中有实现。Torch支持庞大的机器学习算法库,包括深度学习。它支持并行计算的CUDA实现。

大多数领先的实验室都使用Torch,如Facebook,Google,Twitter,Nvidia等。 Torch的Python库名为Pytorch。

  • Infer.net

Infer.net由Microsoft开发和维护。 Infer.net是主要关注贝叶斯统计。 Infer.net旨在为从业者提供最先进的概率建模算法。该库包含分析工具,如贝叶斯分析,隐马尔可夫链,聚类。

  • Keras

Keras是深度学习的Python框架。构建任何深度学习算法都很方便。 Keras的优势在于它使用相同的Python代码在CPU或GPU上运行。此外,编码环境纯粹的,并且允许训练用于计算机视觉,文本识别等的最先进的算法。

Keras由Google的研究员FrançoisChollet开发。 Keras用于CERN,Yelp,Square、Google,Netflix和优步等知名​​组织。

图片.png

  • Theano

蒙特利尔大学于2007年开发的深度学习库。它提供快速计算,可以在CPU和GPU上运行。 Theano已被开发用于训练深度神经网络算法。

  • MICROSOFT认知工具包(CNTK)

Microsoft工具包,以前称为CNTK,是Microsoft开发的深度学习库。根据微软的说法,它是市场上最快的哭之一。 Microsoft工具包是开源库,在微软产品广泛使用,如Skype,Cortana,Bing和Xbox。支持Python和C ++。

  • MXNet

MXnet是最近的深度学习库。它可以使用多种编程语言访问,包括C ++,Julia,Python和R. MXNet可以配置为在CPU和GPU上运行。 MXNet包括最先进的深度学习架构,如卷积神经网络和长短期记忆。 MXNet旨在与动态云基础架构协调工作。 MXNet的主要用户是亚马逊。

  • Caffe

Caffe是杨庆佳在伯克利大学攻读博士学位时创建。 Caffe是用C ++编写的,可以在CPU和GPU上执行计算。 Caffe的主要用途是卷积神经网络。虽然,2017年,Facebook扩展了Caffe,包Recurrent Neural Network。学术界和初创公司以及雅虎等一些大公司都在使用caffe。

  • TensorFlow

TensorFlow是Google的开源项目。 TensorFlow是目前最着名的深度学习库。它于2015年底向公众发布

图片.png

图片.png

参考:深度学习(Deep Learning)

参考资料

机器学习云服务

  • Google Cloud ML

Google为Cloud AutoML提供了开发人员预先培训的模型。该解决方案适用于没有强大机器学习背景的开发人员。开发人员可以在其数据上使用最先进的Google预训练模型。它允许任何开发人员在几分钟内训练和评估任何模型。

Google目前提供用于计算机视觉,语音识别,翻译和NLP的REST API。

图片.png

使用Google Cloud,您可以在TensorFlow,Scikit-learn,XGBoost或Keras上构建机器学习框架。 Google Cloud机器学习将在其云端训练模型。

使用Google云计算的优势在于将机器学习部署到生产中的简单性。无需设置Docker容器。此外,云负责基础设施,它知道如何使用CPU,GPU和TPU分配资源,通过并行计算使训练更快。

  • AWS SageMaker

Google Cloud的主要竞争对手是亚马逊云,AWS。亚马逊开发了Amazon SageMaker,允许数据科学家和开发人员构建,训练和投入生产任何机器学习模型。

SageMaker可用于Jupyter笔记本,包括最常用的机器学习库,TensorFlow,MXNet,Scikit-learn等。用SageMaker编写的程序会自动在Docker容器中运行。亚马逊处理资源分配以优化培训和部署。

图片.png

亚马逊为开发人员提供API,以便为其应用程序添加智能。在某些情况下,没有必要通过从头开始构建新模型来重新发明轮子,而云中有强大的预训练模型。亚马逊为计算机视觉,会话聊天机器人和语言服务提供API服务:

三个主要的可用API是:Amazon Rekognition:为应用程序提供图像和视频识别;亚马逊理解:执行文本挖掘和神经语言处理,例如,自动化检查财务文件合法性的过程;亚马逊Lex:将聊天机器人添加到应用程序;

  • Azure机器学习工作室

可能是最友好的机器学习方法。该解决方案的显着优点是不需要编程基础。

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

Azure机器学习界面是交互式的,允许用户通过快速拖放元素来构建模型。

图片.png

模型准备就绪后,开发人员可以将其保存并推送到Azure Gallery或Azure Marketplace。

Azure Machine学习可以集成到自定义内置包中的R或Python中。

  • IBM Watson ML

Watson通过简化的流程简化数据项目,从而从数据中提取价值和见解,帮助业务变得更加智能和快捷。 Watson工作室提供易于使用的协作数据科学和机器学习环境,用于构建和训练模型,准备和分析数据,以及共享见解。 Watson Studio易于使用,具有拖放代码。

图片.png

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

在我们看来,谷歌云解决方案是最推荐的解决方案。对于数据存储和机器学习解决方案,Google云解决方案为AWS提供的价格至少降低了30%。谷歌正在努力实现人工智能的大众化。它开发了一种开源语言TensorFlow,优化了数据仓库连接,提供了从数据可视化,数据分析到机器学习的巨大工具。此外,Google控制台符合人体工程学,比AWS或Windows更全面。

参考资料

links