盘点法式员必需了解的十大最佳AI库及框架
【小宅按】 AI 当前已成为越来越火的一个标的目的,法式员对于新技术是最敏感的一个人群,作为一名法式员如何转向人工智能标的目的?所以今天分享一些在人工智能(AI)范围常被使用的优质软件库,而且分析它们的优/劣势和自身特点。虽然 AI 曾经被称为只有书痴人和天才才去触碰的专业范围,但是现如今由于各种软件库和框架的成长,它已成为一个更加开放的 IT 范围,很多人都已投身于此中。
TensorFlow
“通过使用数据流图的计算,来实现可扩展的机器学习”,语言:C++ 或 Python。
当提到 AI 的时候,您首先听到的框架应该就是谷歌的 TensorFlow。
TensorFlow 是使用数据流图来执行数值计算的开源库。该框架的特点是它可以操作任何 CPU 或 GPU 进行计算,无论是台式机、处事器、甚至是移动设备的架构都可以实现。这个框架中提供了 Python 语言的编程环境。
TensorFlow 通过所谓的各种节点来分类数据层,并对它所获得的任何信息做出判定。
想了解更多相关信息,可以参看:https://www.tensorflow.org/
优势:
[*]使用一种简单易学的语言--Python。
[*]采用计算图形的抽象。
[*]由 TensorBoard 提供可视化。
劣势:
[*]由于 Python 并非是最快的语言,因此该软件库运行起来并不快。
[*]缺乏各种预先训练好(pre-trained)的模型。
[*]并非完全开源。
[*]微软 CNTK
“一个开源的深度学习东西包”,语言:C++。
我们可以称之为微软对于谷歌 TensorFlow 的“回应”。
微软的计算网络东西包(Microsoft's Computational Network ToolKit,CNTK)是一种能够提高模块化和分手式计算网络的软件库,它还提供了各种学习算法和模型的描述。
在需要有大量处事器参与运行的时候,CNTK 可以操作多台处事器来同步实现。虽然据说它在功能大将会对谷歌 TensorFlow 有所屏蔽,但此刻看来还为时过早。
想了解更多相关信息,可以参看:https://github.com/Microsoft/CNTK
http://pic2.zhimg.com/v2-9885ee886a9719f8e3e5f7513a57afd1_r.jpg
优势:
[*]非常灵活。
[*]可实现分布式的训练。
[*]撑持 C++,C#,Java 和 Python。
劣势:
[*]它是由一种新的语言--网络描述语言(NetworkDescription Language,NDL)来实现。
可视化不足。
[*]Theano
“一种数值计算的软件库”,语言:Python。
http://pic4.zhimg.com/v2-8224f0f829bedef7800acf16734edea3_r.jpg
Theano 是 TensorFlow 的强有力竞争者。它是一个功能强大的 Python 库,能够高效地实现与各种多维数组有关的数值运算。
该软件库能够准确地使用 GPU 来执行各种数据密集型的计算,而不会在运行中给 CPU 增加承担。
出于这个原因,在近十年来,Theano 一直被运用于供电系统内部各种大规模的计算密集型操作。
不外在 2017 年 9 月,Theano 颁布发表将在 2017 年 11 月的最后一次重要发布之后,对其 1.0 版本遏制更新。
当然,这并不意味着它在功能上会有所逊色,只要您愿意,对它随时展开研究都是值得的。
想了解更多相关信息,可以参看:https://github.com/Theano/Theano
优势:
[*]对 CPU 和 GPU 的使用进行了适当的优化。
[*]高效的数字任务措置能力。
劣势:
[*]原生的 Theano 相对于其他软件库的程度较低,需要与其他软件库一起使用,以获得较高的抽象程度。
[*]在 AWS 上运行时会有一些 Bug。
[*]Caffe
“深度学习的开放式框架,且速度快”,语言:C++。
Caffe 是一个功能强大的深度学习框架。和上述列表中的其他框架对比,它能够实现快速和有效的深度学习式研究。
通过Caffe,您可以非常容易地为图像分类,成立卷积神经网络(convolutional neural network,CNN)。Caffe 能够有效地工作在 GPU 上,而且在运行过程中能够阐扬极快的速度。
想了解更多相关信息,可以参看:http://caffe.berkeleyvision.org/
Caffe 的主要类包罗:
优势:
[*]可与 Python 和 MATLAB 绑定。
[*]运行性能极佳。
[*]无需编写代码,便可实现对各个模型的训练。
劣势:
[*]对复发性的网络(recurrent networks)撑持不佳。
[*]与新架构的协同性不好。
[*]Keras
“为人类的深度学习而打造”,语言:Python。
Keras 是一个用 Python 编写的开源神经网络库。不像 TensorFlow、CNTK 和 Theano,Keras 并不处事于端到端的机器学习框架。
相反地,作为一个接口,它提供了一个高层次的抽象,这使得无论是在什么样的框架下,神经网络都能够便利地进行配置。
目前谷歌 TensorFlow 能够将 Keras 作为后端予以撑持,而微软的 CNTK 是否会在将来撑持 Keras,则暂无时间表。
想了解更多相关信息,可以参看:https://keras.io/
优势:
[*]用户友好且容易上手。
[*]容易扩展。
[*]无缝运行在 CPU 和 GPU 上。
[*]能与 Theano 和 TensorFlow 无缝协作。
劣势:
[*]无法作为一个独立的框架被使用。
[*]Torch(火炬)
“一个开源的机器学习库”,语言:C。
Torch 是一个为科研和数值运算打造的、开源的机器学习库。它基于的是 Lua 编程语言,而非 Python 库。通过提供大量的算法,它不单使得深度学习研究更为容易,而且能提高效率和速度。
Torch 具有强大的 N 维阵列,这对于诸如切片和索引等操作长短常有用的。它还提供了线性代数的法式和神经网络的模型。
想了解更多相关信息,可以参看:http://torch.ch/
优势:
[*]非常灵活。
[*]有极高的速度和效率。
[*]具有大量的预先训练好的模型。
劣势:
[*]文档不清。
[*]缺少即插即用的代码。
[*]基于的是一种不那么风行的语言--Lua。
[*]http://Accord.NET
“撑持机器学习、计算机视觉、统计、以及使用.NET的科学计算”,语言:C#。
这是为C#法式员筹备的软件库,http://Accord.NET 是一种 .NET 的机器学习框架,它便利了音频和图像的各种措置。
该框架可以有效地措置数值优化、人工神经网络、甚至可视化等方面。除此之外,http://Accord.NET 在计算机视觉和信号措置上也具有强大的功能,而且通过一些简单的算法就能实现。
想了解更多相关信息,可以参看:http://accord-framework.net/
http://pic4.zhimg.com/v2-95e32d013dfc624df09b6284dee70d8b_r.jpg
优势:
[*]它拥有一个复杂且活跃的开发团队。
[*]具有非常好的文档框架。
[*]可实现质量可视化。
劣势:
[*]该框架并不长短常风行。
[*]比 TensorFlow 要运行得迟缓一些。
[*]Spark MLlib
“一个可扩展的机器学习库”,语言:Scala。
Apache 的 Spark MLlib 是一个极具扩展性的机器学习库。它撑持的编程语言有 Java、Scala、Python、甚至是 R 语言。
它能够非常有效地通过 Python 和 R 语言的 Numpy 库(译者注:NumPy 系统是 Python 的一种开源的数值计算扩展)进行交互操作。
MLlib 能够很容易地被植入到 Hadoop 的工作流中。它还能提供诸如分类、回归、归并等机器学习的算法。在涉及到大规模数据措置时,这款功能强大的软件库运行起来非常快。
想了解更多相关信息,可以参看:https://spark.apache.org/mllib/
优势:
[*]能极快速地措置大规模的数据。
[*]撑持多种语言。
劣势:
[*]学习曲线“陡峭”(即不易学习)。
[*]只能对 Hadoop 实现即插即用。
[*]Sci-kitLearn
“使用 Python 进行机器学习”,语言:Python。
SCI-Kit 是一款主要用于在机器学习中构建各类模型的、非常强大的 Python 库。
通过使用诸如 Numpy、SciPy 和 Matplotlib 之类的库,它对于诸如分类、回归、归并等统计模型非常有效。SCI-Kit 还能为您带来监管式与无监管式的学习算法、以及交叉验证等功能。
想了解更多相关信息,可以参看:http://scikit-learn.org/
优势:
[*]能撑持许多主流的算法。
[*]提供有效的数据挖掘。
劣势:
[*]对于构建模型来说并非是最好的。
[*]使用 GPU 时,效果并非最佳。
[*]MLPack
“一个可扩展的 C++ 类型机器学习库”,语言:C++。
MLPack 是一款操作 C++ 来实现可扩展机器学习的软件库。由于它运行在 C++ 中,因此您完全可以想象到它对内存的高效打点。
由于在库中自带优质的机器学习算法,MLPack 运行起来速度极快。此外,该软件库对于新手来说十分“友好”,它提供了一个简单的 API。
想了解更多相关信息,可以参看:http://mlpack.org/
优势:
[*]扩展性极强。
[*]提供 Python 和 C++ 的绑定。
劣势:
[*]没有优质的文档。
总结
本文在此所讨论到的各种软件库都是在大师持久使用之后,备受好评且高质量的。
像 Facebook、谷歌、雅虎、苹果和微软这样的大公司已经将它们运用到了各自的深度学习和机器学习的项目中。您还有什么理由不去尝尝呢?
更多出色内容,请滑至顶部点击右上角存眷小宅哦~
http://pic4.zhimg.com/v2-bc7bccf0c30165aa177c0ae6cae29137_b.gif
<hr/>来源:51CTO技术栈作者Anton Shaleynikov 编译陈峻 DL4J呢? 干货满满! 谢谢 干货!收藏! 优秀 感谢感谢! 感谢楼主~ 流批哦 超赞!
页:
[1]
2