用于AI开发的最佳5个开源框架:Tensorflow、Caffe、微软CNTK、Theano、Keras
2018年04月10日 由 nanan 发表
945523
0
AI和机器学习是目前流行的两个术语,有时甚至可以互换使用。然而,两项都不一样。虽然AI所涉及的机器可以执行具有人类智能特征的任务,但机器学习能够使现代计算机在没有明确编程的情况下学习。基本上,机器学习是通过模式识别和计算学习理论从AI发展而来。
谷歌、微软、Facebook、IBM和亚马逊等大公司都在大力投资自己的研发,以及收购那些在机器学习、神经网络、自然语言和图像处理等领域取得进展的初创公司。
在本文中,我们列出了5个最适合用于AI开发的开源框架:
1.Tensorflow
TensorFlow是谷歌开发的用于深度学习或人工神经网络的开源软件库。TensorFlow由Google AI团队内的Google Brain团队开发,并于2015年11月9日在Apache 2.0开源许可下发布。TensorFlow使用数据流图进行数值计算。TensorFlow具有非常灵活的体系结构,可以轻松部署跨各种平台(CPU,GPU,TPU)以及从台式机到服务器群集到移动和边缘设备的计算。
Tensorflow可以生成c++或Python图形,TensorFlow表示通过系统运行的数据的移动。TensorFlow的网站提供教程和资源,可帮助那些对TensorFlow了解较少的开发人员。通过开放获取机器学习代码的TensorFlow库,Google正在帮助简化复杂深层神经网络的构建、训练和部署。谷歌、英特尔、优步和高通都是使用Tensorflow的公司。
2.Caffe
CAFFE(用于快速特征嵌入的卷积体系结构)是一个非常快速、功能强大且高效的深度学习框架。CAFFE是开源的,用c++编写,带有一个Python接口。Caffe支持面向图像分类和图像分割的多种不同类型的深度学习体系结构。据其网站称,CAFFE可以使用一个NVIDIA K40 GPU在一天内处理6000多万张图像。CAFFE支持CNN、RCNN、LSTM和全连接的神经网络设计。CAFFE在GPU上运行良好,这有助于在运行期间提高速度。
Caffe框架主要用于学术研究项目、多媒体、演讲甚至视觉。该工具还支持诸如Ubuntu,Mac OS X和Windows等操作系统。雅虎 最近将Caffe与Apache Spark整合在一起,创建了分布式深度学习框架CaffeOnSpark。
3.微软CNTK
微软认知工具包(以前称为CNTK)由微软研究院开发,是一个深度学习框架,旨在使用神经网络来处理非结构化数据的大型数据集。微软CNTK具高度的可定制性,因为微软CNTK具有更快的训练时间和易于使用的体系结构。无论是在只有CPU,单个GPU,多个GPU或具有多个GPU的多个机器上运行,微软CNTK都拥有出色的性能。微软CNTK允许你选择自己的参数、算法和网络。微软CNTK是用Python和c++编写的。虽然微软CNTK在语音识别领域更受欢迎,但微软CNTK也可以用于文本、图像和RNN训练(递归神经网络:一种神经网络)。
4.Theano
Theano是一个专为深度学习而设计的Python库。Theano允许你定义、优化和评估涉及高效率的多维数组的数学表达式。Theano可以使用GPU并执行有效的符号区分。该工具具有与NumPy集成、动态C代码生成和符号区分等功能。该工具支持Linux,Mac OS X和Windows等平台。
5.Keras
Keras是一个用Python编写的开放源码库,可以在TensorFlow、Microsoft Cognitive Toolkit、Theano或MXNet等深度学习框架上运行。这种高水平的神经网络API旨在使用深度神经网络进行快速实验。Keras侧重于用户友好、 模块化和可扩展性。该工具针对CPU和GPU进行了优化。