zoukankan      html  css  js  c++  java
  • 主流机器学习框架

    一、TensorFlow

    TensorFlow 是一个使用数据流图进行数值计算的开源软件库。图中的节点表示数学运算,而图边表示在它们之间传递的多维数据阵列(又称张量)。灵活的体系结构允许你使用单个API将计算部署到桌面、服务器或移动设备中的一个或多个CPU或GPU。

    被定义为“最流行”、“最被认可”的开源深度学习框架, 拥有产品级的高质量代码,有 Google 强大的开发、维护能力的加持,整体架构设计也非常优秀。

    TensorFlow 是 Google 的开源人工智能工具。它提供了一个使用数据流图进行数值计算的库。可以运行在多种不同的有着单或多 CPU 和 GPU 的系统,甚至可以在移动设备上运行。它拥有深厚的灵活性、真正的可移植性、自动微分功能,并且支持 C++ / Python (Go,Java,Lua,Javascript,或者是R)。

    但由于 TensorFlow 的每个计算流都必须构造为一个静态图,且缺乏符号性循环,增加了计算困难。TensorFlow 在执行性能方面并无优势,对 RNN 支持不如 Theano,缺乏许多预先训练的模型。

    二、Apache Spark

    Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎  。现在形成一个高速发展应用广泛的生态系统。

    Spark 主要有三个特点 [3]  :

    1、易用性

    高级 API 剥离了对集群本身的关注,Spark 应用开发者可以专注于应用所要做的计算本身。Spark 提供了80多个高级运算符。

    2、更快的速度

    Spark 很快,支持交互式计算和复杂算法。内存计算下,Spark 比 Hadoop 快100倍。

    3、通用性

    Spark 是一个通用引擎,可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等.
    而在 Spark 出现之前,我们一般需要学习各种各样的引擎来分别处理这些需求。
    Spark 提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。 开发者可以在同一个应用程序中无缝组合使用这些库。支持多种资源管理器

    4、丰富的资源管理器

    Spark 支持 Hadoop YARN,Apache Mesos,及其自带的独立集群管理器
     
    Spark核心模块图:
    总结:Spark主要是一个分布式大数据计算引擎,其中包含深度学习的模块,所以也被广泛应用与机器学习,但并不是像TensorFlow那样专业
     

    三、Deeplearning4j:为 Java 用户量身定制

    Deeplearning4j(以下简称:DL4J)是 Java 和 Scala 环境下的一个开源分布式的深度学习项目,可以构建、定型和部署神经网络。

    DL4J 与 Hadoop 和 Spark 集成,支持分布式 CPU 和 GPU,为商业环境,而非研究工具目的所设计。DL4J 支持 YARN 与 RBM、DBN、CNN、RNN、RNTN 和 LTSM等多种深度网络架构,还对矢量化库 Canova 提供支持。

    DL4J 使用 Java 语言实现,本质上比 Python 快,在图像识别、欺诈检测和自然语言处理方面的表现出众。

    [ 版权声明 ]: 本文所有权归作者本人,文中参考的部分已经做了标记! 商业用途转载请联系作者授权! 非商业用途转载,请标明本文链接及出处!
  • 相关阅读:
    近期简单题炸分总结
    传输层中的端口号
    TCP的三次握手与四次挥手
    ppq的面试题总结
    一个C++源文件从文本到可执行文件经历的过程
    C++中的&符号的运用:引用、取地址和右值引用
    C++中的拷贝构造、赋值构造函数
    C++中的虚函数
    函数指针与回调函数
    C++中的智能指针
  • 原文地址:https://www.cnblogs.com/gslgb/p/14754220.html
Copyright © 2011-2022 走看看