zoukankan      html  css  js  c++  java
  • 10个最佳的人工智能开发框架和AI库

    人工智能(AI)已经存在很长时间了。然而,由于这一领域的巨大进步,近年来它已成为一个流行语。人工智能曾经被称为一个完整的书 呆子和天才的领域,但由于各种开发库和框架的发展,它已经成为一个友好的IT领域,并有很多人正走进它。

    在这篇文章中,我们将研究用于人工智能的优质库,它们的优缺点以及它们的一些特征。让我们深入并探索这些人工智能库的世界!

    1. TensorFlow

    ____________________________________________________________

    “使用数据流图表的可伸缩机器学习的计算”

    ____________________________________________________________

    TensorFlow

    语言:C ++或Python。

    当进入AI时,你会听到的第一个框架之一就是Google的TensorFlow。

    TensorFlow是一个使用数据流图表进行数值计算的开源软件。这个框架被称为具有允许在任何CPU或GPU上进行计算的架构,无论是台式机 、服务器还是移动设备。这个框架在Python编程语言中是可用的。

    TensorFlow对称为节点的数据层进行排序,并根据所获得的任何信息做出决定。点击查看详情

    TensorFlow sorts through data layers

    优点:

    • 使用易于学习的语言(Python)。
    • 使用计算图表抽象。
    • 用于TensorBoard的可用性的可视化。

    缺点:

    • 这很慢,因为Python不是语言中最快的。
    • 缺乏许多预先训练的模型。
    • 不完全开源。

    2. Microsoft CNTK

    ____________________________________________________________

    “开源深度学习工具包”

    ____________________________________________________________

    Microsoft CNTK

    语言:C ++。

    我们可以称之为微软对Google的TensorFlow的回应。

    微软的计算网络工具包是一个增强分离计算网络模块化和维护的库,提供学习算法和模型描述。

    在需要大量服务器进行操作的情况下,CNTK可以同时利用多台服务器。

    据说它的功能与Google的TensorFlow相近;但是,它会更快。在这里 了解更多

    Microsoft's Computational Network ToolKit

    优点:

    • 这是非常灵活的。
    • 允许分布式训练。
    • 支持C ++、C#、Java和Python。

    缺点:

    • 它以一种新的语言——网络描述语言(Network Description Language , NDL)来实现。
    • 缺乏可视化。

    3. Theano

    ____________________________________________________________

    “数值计算库”

    ____________________________________________________________

    Theano

    语言:Python。

    Theano是TensorFlow的强有力竞争者,是一个功能强大的Python库,允许以高效率的方式进行涉及多维数组的数值操作。

    Theano库透明地使用GPU来执行数据密集型计算而不是CPU,因此操作效率很高。

    出于这个原因,Theano已经被用于为大规模的计算密集型操作提供动力大约十年。

    然而,在2017年9月,宣布Theano的主要开发将于2017年11月发布的1.0版本后停止。

    这并不意味着它是一个不够强大的库。你仍然可以随时进行深入的学习研究。在这里了解更多

    Theano 

data-intensive computations

    优点:

    • 正确优化CPU和GPU。
    • 有效的数字任务。

    缺点:

    • 与其他库相比,原生Theano有点低级。
    • 需要与其他库一起使用以获得高度的抽象化。
    • AWS上有点bug。

    4. Caffe

    ____________________________________________________________

    “快速、开源的深度学习框架”

    ____________________________________________________________

    语言:C ++。

    Caffe是一个强大的深度学习框架。

    像这个清单上的其他框架一样,深度学习的研究速度非常快。

    借助Caffe,您可以非常轻松地构建用于图像分类的卷积神经网络(CNN)。Caffe在GPU上运行良好,这有助于在运行期间提高速度。查看主页获取更多信息

    Caffe主要的类有:

    Caffe 

main classes

    优点:

    • Python和MATLAB的绑定可用。
    • 性能表现良好。
    • 无需编写代码即可进行模型的训练。

    缺点:

    • 对于经常性网络不太好。
    • 新体系结构不太好。

    5. Keras

    ____________________________________________________________

    “人类的深度学习”

    ____________________________________________________________

    语言:Python。

    Keras是一个用Python编写的开源的神经网络库。

    与TensorFlow、CNTK和Theano不同,Keras不是一个端到端的机器学习框架。

    相反,它作为一个接口,提供了一个高层次的抽象化,这使得无论它坐落在哪个框架上,神经网络的配置都会变得容易。

    谷歌的TensorFlow目前支持Keras作为后端,而微软的CNTK也会在很短的时间内做到这一点。在这里了解更多

    Keras

    优点:

    • 它是用户友好的。
    • 它很容易扩展。
    • 在CPU和GPU上无缝运行。
    • 与Theano和TensorFlow无缝工作。

    缺点:

    • 不能有效地用作独立的框架。

    6. Torch

    ____________________________________________________________

    “一个开源的机器学习库”

    ____________________________________________________________

    语言:C。

    Torch是一个用于科学和数字操作的开源机器学习库。

    这是一个基于Lua编程语言而非Python的库。

    Torch通过提供大量的算法,使得深度学习研究更容易,并且提高了效率和速度。它有一个强大的N维数组,这有助于切片和索引等操作。 它还提供了线性代数程序和神经网络模型。点击查看详情

    Torch

    优点:

    • 非常灵活。
    • 高水平的速度和效率。
    • 大量的预训练模型可用。

    缺点:

    • 不清楚的文献记录。
    • 缺乏即时使用的即插即用代码。
    • 它基于一种不那么流行的语言——Lua。

    7. Accord.NET

    ____________________________________________________________

    “机器学习、计算机视觉、统计和.NET通用科学计算”

    ____________________________________________________________

    语言:C#。

    这是专为C#程序员设计的。

    Accord.NET框架是一个.NET机器学习框架,使音频和图像处理变得简单。

    这个框架可以有效地处理数值优化、人工神经网络,甚至可视化。除此之外,Accord.NET对计算机视觉和信号处理的功能非常强大,同时 也使得算法的实现变得简单。检查主页面

    Accord.NET

    优点:

    • 它有一个强大而积极的开发团队。
    • 非常有据可查的框架。
    • 质量可视化。

    缺点:

    • 不是一个非常流行的框架。
    • 比TensorFlow慢。

    8. Spark MLlib

    ____________________________________________________________

    “可扩展的机器学习库”

    ____________________________________________________________

    语言:Scala。

    Apache的Spark MLlib是一个非常可扩展的机器学习库。

    它非常适用于诸如Java、Scala、Python,甚至R等语言。它非常高效,因为它可以与Python库和R库中的numpy进行互操作。

    MLlib可以轻松插入到Hadoop工作流程中。它提供了机器学习算法,如分类、回归和聚类。

    这个强大的库在处理大型数据时非常快速。

    Spark 

MLlib

    优点:

    • 对于大规模数据处理非常快速。
    • 提供多种语言。

    缺点:

    • 陡峭的学习曲线。
    • 即插即用仅适用于Hadoop。

    9. Sci-kit Learn

    ____________________________________________________________

    “用Python的机器学习”

    ____________________________________________________________

    语言:Python。

    Sci-kit learn是一个非常强大的机器学习Python库,主要用于构建模型。

    使用numpy、SciPy和matplotlib等其他库构建,对统计建模技术(如分类、回归和聚类)非常有效。

    Sci-kit learn带有监督学习算法、无监督学习算法和交叉验证等功能。点击查 看详情

    优点:

    • 许多主要算法的可用性。
    • 有效的数据挖掘。

    缺点:

    • 不是构建模型的最佳选择。
    • GPU效率不高。

    10. MLPack

    ____________________________________________________________

    “可扩展的C ++机器学习库”

    ____________________________________________________________

    语言:C ++。

    MLPack是一个用C ++实现的可扩展的机器学习库。因为它是用C ++编写的,所以你可以猜测它对于内存管理是非常好的。

    MLPack以极高的速度运行,因为高质量的机器学习算法与库一起出现。这个库是对新手友好的,并提供了一个简单的API使用。点击查看详情

    MLPack

    优点:

    • 非常可扩展。
    • Python和C ++绑定可用。

    缺点:

    • 不是最好的文献记录。
  • 相关阅读:
    Unit01: JDBC原理 、 JDBC基础编程
    JAVA-Unit05: 视图、序列、索引 、 约束
    JAVA-Unit04: SQL(高级查询)
    JAVA-Unit03: SQL(基础查询) 、 SQL(关联查询)
    JAVA-Unit02: Oracle字符串操作 、 Oracle数值操作 、 Oracle日期操作 、 空值操作
    Eclipse快捷键
    JAVA-Unit01: 数据库原理 、 SQL(DDL、DML)
    JAVASE02-Unit012: Unit07: XML语法 、 XML解析
    JAVASE02-Unit011: TCP通信(小程序)
    从《在小吃店遇见凯恩斯》初识经济
  • 原文地址:https://www.cnblogs.com/tuyile006/p/12218681.html
Copyright © 2011-2022 走看看