当前位置: 首页 > 如何自学

机器学习的框架,以下机器学习框架中哪一个是由谷歌推出的

  • 如何自学
  • 2023-05-29
目录
  • 网上可调的sm项目有哪些
  • keras是库还是框架
  • 2019年十大最佳深度学习框架
  • 机器学习的基本结构
  • 机器学习的基本框架体系是什么?并分模块进行阐述。

  • 网上可调的sm项目有哪些

    机器学习缺御框架涵盖用于分类,回归,聚类,异常检测和数据准备的各种学习方法,并且其可以或可以不包括神经网络方法。深度学习或深度神经网络(DNN)框架涵盖具有许多隐藏层的各种神经网络拓扑。这些层包括模式识别的多步骤过羡敬程。网络中的层越多,可以提伏派岩取用于聚类和分类的特征越复杂。我们常见的Caffe,CNTK,DeepLearning4j,Keras,MXNet和TensorFlow是深度学习框架。 Scikit-learning和Spark MLlib是机器学习框架。 Theano跨越了这两个类别。

    keras是库还是框架

    在网络中,可调用的SM项目主要有以下几种类型:一是机器学习框架,比渗桥如TensorFlow和PyTorch等,这些框架可以帮助开发者轻松构建和训练神经网络模型;二是预训练模型,如BERT、GPT、RoBERTa、ELECTRA等,可以使用这些模型来帮助更快地完成任务,比如文本分类、抽取式问答岁喊袜、语言生成等;三是自然语言处理包,比如NLTK、SpaCy、乎激Stanford CoreNLP等,可以帮助处理自然语言文本,如分词、词性标注、命名实体识别等。以上是几类常见SM技术,还有一些专业的SM项目及,例如深度学习、视觉领域的算法库等。

    2019年十大最佳深度学习框架

    表示学习的基本结构。环境向的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。在具体的应用中,环境,知识库和执行部分决定了具体的工作内容,学习部分所需要解决的问题完全由上述3部分确定。下面我们分别叙述这3部分对设计学习的影响。

    影响学习设计的最重要的因素是环境向提供的信息。或者更具体地说是信息的质量。知识库里存放的是指导执行部分动作的一般原则,但环境向学习提供的信息却是各种各样的。如果信息的质量比较高,与一般原则的差别比较小,则学习部分比较容易处理。如果向学习提供的是杂乱无章的指导执行具体动作的具体信息,则学习需要在获得足够数据之后,删除不必要的细节,进行总结推广,形成指导动作的一般原则,放入知识库,这样学习部分的任散塌务就比较繁重,设计起来也较为困难。

    因为学习获得的信息往往是不完全的,所以学习所进行的推理并不完全是可靠的,它总结出来的规则可能正确,也可能不正确。这要通过执行效果加以检验。正确的规则能使的效能提高,应予保留;不正确的规则应予修改或从数据库中删除。

    知识库是影响学习设计的第二个因素。知识的表示有多种形式,比如特征向量、一阶逻辑语句、产生式规则凳腔、语义网络和框架等等。这些表示方式各有其特点,在选择表示方式时要兼顾以下4个方面:

    (1)表达能力强。

    (2)易于推理。

    (3)容易修改知识库。

    (4)知识表示易于扩展。

    对于知识库最后需要说明的一个问题是学习不能在全然没有任何知识的情况下凭空获取知识,每一个学习都要求具有某些知识理解环境提供的信息,分析比较,做出假设,检验并修改这些假设。因此,更确切地说,学习是对现有知识的扩展和改冲粗圆进。

    执行部分是整个学习的核心,因为执行部分的动作就是学习部分力求改进的动作。同执行部分有关的问题有3个:复杂性、反馈和透明性。

    机器学习的基本结构

    Keras是一个深度学习框架,它可以被用于快速构建和实验不同的深度学习模型坦拍。它使用高级的神经网络API(例如TensorFlow、Theano和CNTK),提供了可重复使用的构建模块,以及可以在CPU和GPU上运悄盯行的让运羡深度学习模型。Keras提供了一个简单而强大的高级接口,可以轻松地构建、训练和评估复杂的深度学习模型。Keras也被用于快速原型开发,以及用于构建机器学习的生产工作流。

    机器学习的基本框架体系是什么?并分模块进行阐述。

    作者 | Python语音识别

    来源 | 涛哥聊Python

    虽然我们大多数人都惊叹为什么DL这么好?在使用大量数据进行训练时,它在准确性方面非常出色。近几年随着深度学习算法的发展,出现了很多深度学习的框架,这些框架各有所长,各具特色。下面将为大家介绍2019年最受欢迎的十大深度学习框架。

    TensorFlow

    谷歌的Tensorflow可以说是当今最受欢迎的深度学习框架。Gmail,Uber,Airbnb,Nvidia以及其他许多知名品牌都在使用。TF是目前深度学习的主流框架,Tensorflow主要特性:

    TensorFlow支持python、JavaScript、C ++、Java和Go,C#和Julia等多种编程语言。 TF不仅拥有强大的计算集群,还可以在iOS和Android等移动上运行模型。 TF编程入门难度较大迅雀。初学者需要仔细考虑神经网络的架构,正确评估输入和输出数据的维度和数量。 TF使用静态计算图进行操作 。也就是说我们需要先定义图形,然后运行计算,如果我们需要对架构进行更改,我们会重新训练模型。选择这样的方法是为了提高效率,但是许多现代神经网络能够在学习过程中考虑改进而不会显着降低学习答郑速度。在这方面,TensorFlow的主要竞争对手是PyTorch 。

    TensorFlow优点:

    它非常适合创建和试验深度学习架构,便于数据集成,如输入图形,SQL表和图像。 它得到谷歌的支持,这就说明该模型短期内不会被抛弃,因此值得投入时间来学习它。 PyTorch

    Tensorflow之后用于深度学习的主要框架是PyTorch。PyTorch框架是Facebook开发的,已被Twitter和Salesforce等公司使用。

    PyTorch基本特性:

    与TensorFlow不同,PyTorch库使用动态更新的图形进行操作 。这意味着它可以在流程中更改体系结构。 在PyTorch中,您可以使用标准调试器 ,例如pdb或PyCharm。

    PyTorch优点:

    训练神经网络的过程简单明了。同时,PyTorch支持数据并行和分布式学习模型,并且还包含许多预先训练的模型。 PyTorch更适合小型项目和原型设计。 Sonnet

    Sonnet深度学习框架是建立在TensorFlow的基础之上。它是DeepMind用于创建具有复杂架构的神经网络。

    Sonnet基本特性:

    面向对象的库,在开发神经网络(NN)或其他机器学习(ML)算法时更加抽象。 Sonnet的想法是构造对应于神经网络的特定部分的主要Python对象。此外,这些对象独立地连接到计算TensorFlow图。分离创建对象并将其与图形相关联的过程简化了高级体系结构的设计。

    Sonnet优点:

    Sonnet的主要优点是可以使用它来重现DeepMind论文中展示的研究,比Keras更容易,因为DeepMind论文模型就是使用Sonnet搭建的。 Keras

    Keras是一个机器学习框架,如果您拥有大量数据和/或你想快速入门深度学习,那么Keras将非常适合学习。Keras是TensorFlow高级集成APi,可以非常方便的和TensorFlow进行融合。这是我强烈推荐学习的一个库。

    Keras基本特性:

    除了Tensorflow之外,Keras还是其他流行的库(如Theano和CNTK)的高级API。 在Keras中更容易创建大规模的深度学习模型,但Keras框架环境配置比其他底层框架要复杂一些。

    Keras优点:

    对于刚刚入门的人来说,Keras是最好的深度学习框架。它是学习和原型化简单概念的理想选择,可以理解各种模型和学习过程的本质。亩举早 Keras是一个简洁的API。 可以快速帮助您创建应用程序。 Keras中代码更加可读和简洁。 Keras模型序列化/反序列化API,回调和使用Python生成器的数据流非常成熟。

    顺便说一下TensorFlow和Keras的对比:

    PS:Tensorflow处于底层框架:这和MXNet,Theano和PyTorch等框架一样。包括实现诸如广义矩阵 - 矩阵乘法和诸如卷积运算的神经网络原语之类的数学运算。

    Keras处于高度集成框架。虽然更容易创建模型,但是面对复杂的网络结构时可能不如TensorFlow。

    MXNet

    MXNet是一种高度可扩展的深度学习,可用于各种设备。虽然与TensorFlow相比,它似乎没有被广泛使用,但MXNet的增长可能会因为成为一个Apache项目而得到提升。

    MXNet基本特性:

    该框架支持多种语言,如C ++,Python,R,Julia,JavaScript,Scala,Go,甚至Perl。 可以在多个GPU和许多机器上非常有效地并行计算。

    MXNet优点:

    支持多个GPU(具有优化的计算和快速上下文切换) 清晰且易于维护的代码(Python,R,Scala和其他API) 快速解决问题的能力(对于像我这样的深度学习新手至关重要)

    虽然它不像TF那么受欢迎,但MXNet具有详细的文档并且易于使用,能够在命令式和符号式编程风格之间进行选择,使其成为初学者和经验丰富的工程师的理想选择。

    GLUON

    Gluon是一个更好的深度学习框架,可以用来创建复杂的模型。GLUON基本特性:

    Gluon的特殊性是具有一个灵活的界面,简化了原型设计,构建和培训深度学习模型,而不会牺牲学习速度。 Gluon基于MXNet,提供简单的API,简化深度学习模型的创建。 与PyTorch类似,Gluon框架支持使用动态图表 ,将其与高性能MXNet相结合。从这个角度来看,Gluon看起来像是分布式计算的Keras非常有趣的替代品。

    GLUON优点:

    在Gluon中,您可以使用简单,清晰和简洁的代码定义神经网络。 它将训练算法和神经网络模型结合在一起,从而在不牺牲性能的情况下提供开发过程的灵活性。 Gluon可以定义动态的神经网络模型,这意味着它们可以动态构建,使用任何结构,并使用Python的任何本机控制流。 SWIFT

    当你听到Swift时,您可能会考虑iOS或MacOS的应用程序开发。但是如果你正在学习深度学习,那么你一定听说过Swens for Tensorflow。通过直接与通用编程语言集成,Swift for TensorFlow可以以前所未有的方式表达更强大的算法。SWIFT基本特性:

    可以轻松获得可微分的自定义数据结构。 下一代API 。通过实践和研究获得的新API更易于使用且更强大。 在TensorFlow的基础上 ,Swift API为您提供对所有底层TensorFlow运算符的直接调用。 基于Jupyter、LLDB或者Swift in Colab的编程提高了您的工作效率。

    SWIFT优点:

    如果动态语言不适合您的任务,那么这将是一个很好的选择。当你训练运行了几个小时,然后你的程序遇到类型错误,那么使用Swift,一种静态类型语言。您将看到代码错误的地方。 Chainer

    直到CMU的DyNet和Facebook的PyTorch出现之前,Chainer是动态计算图或网络的领先神经网络框架,它允许输入数据长度不一致。chainer基本特性:

    Chainer代码是在Numpy和CuPy库的基础之上用纯Python编写的, Chainer是第一个使用动态架构模型的框架。

    Chainer优点:

    通过自己的基准测试,Chainer明显比其他面向Python的框架更快,TensorFlow是包含MxNet和CNTK的测试组中最慢的。 比TensorFlow更好的GPU和GPU数据中心性能。最近Chainer成为GPU数据中心性能的全球冠军。 DL4J

    那些使用Java或Scala的人应该注意DL4J(Deep Learning for Java的简称)。DL4J的基本特性:

    DL4J中的神经网络训练通过簇的迭代并行计算。 该过程由Hadoop和Spark架构支持。 使用Java允许您在Android设备的程序开发周期中使用。

    DL4J优点:

    如果您正在寻找一个良好的Java深度学习框架,这会是一个非常好的。 ONNX

    ONNX项目诞生于微软和Facebook,旨在寻找深度学习模型呈现的开放格式。ONNX简化了在人工智能的不同工作方式之间传递模型的过程。因此ONNX具有各种深度学习框架的优点。

    ONNX基本特性:

    ONNX使模型能够在一个框架中进行训练并转移到另一个框架中进行推理。ONNX模型目前在Caffe2,Microsoft Cognitive Toolkit,MXNet和PyTorch中得到支持,并且还有许多其他常见框架和库的连接器。

    ONNX优点:

    对于PyTorch开发人员来说,ONNX是一个好的选择。但是对于那些喜欢TensorFlow的人来说,Keras等可能好一点。总结

    那么您应该使用哪种深度学习框架?下面是几点建议:

    如果你刚刚开始学习,那么最好的选择是Keras 。 出于研究目的,请选择PyTorch 。 对于生产,您需要关注环境。因此对于Google Cloud,最好的选择是TensorFlow ,适用于AWS - MXNet和Gluon 。 Android开发人员应该关注D4LJ ,对于iOS来说, Core ML会破坏类似的任务范围。 最后, ONNX将帮助解决不同框架之间的交互问题。

    猜你喜欢