2016 - 2024

感恩一路有你

新手选择keras还是pytorch Keras还是TensorFlow,程序员该如何选择深度学习框架?

浏览量:2079 时间:2021-03-17 11:01:23 作者:admin

Keras还是TensorFlow,程序员该如何选择深度学习框架?

如果您想用少量的代码尽快地构建和测试神经网络,keras是最快的,而且sequential API和model非常强大。而且keras的设计非常人性化。以数据输入和输出为例,与keras的简单操作相比,tensorflow编译码的构造过程非常复杂(尤其对于初学者来说,大量的记忆过程非常痛苦)。此外,keras将模块化作为设计原则之一,用户可以根据自己的需求进行组合。如果你只是想快速建立通用模型来实现你的想法,keras可以是第一选择。

但是,包装后,keras将变得非常不灵活,其速度相对较慢。如果高度包装,上述缺点将更加明显。除了一些对速度要求较低的工业应用外,由于tensorflow的速度较高,因此会选择tensorflow

如果您在验证您的想法时,想定义损失函数而不是使用现有的设置,与keras相比,tensorflow提供了更大的个性空间。此外,对神经网络的控制程度将在很大程度上决定对网络的理解和优化,而keras提供的权限很少。相反,tensorflow提供了更多的控制权,比如是否训练其中一个变量、操作梯度(以获得训练进度)等等。

尽管它们都提供了深度学习模型通常需要的功能,但如果用户仍然追求一些高阶功能选择,例如研究特殊类型的模型,则需要tensorflow。例如,如果您想加快计算速度,可以使用tensorflow的thread函数来实现与多个线程的相同会话。此外,它还提供了调试器功能,有助于推断错误和加快操作速度。

PyTorch和Gluon有什么区别?

两者都是深度学习平台,可用于卷积神经网络、RNN等深度学习模型的构建、训练和学习。

首先,不同的公司提供支持。Python来自Facebook,glion来自Amazon。

那么,类型定位就不同了。如果详细划分,Python是一个灵活的后端深度学习平台,tensorflow和mxnet被视为一种类型,glion是一个高度集成的前端平台,keras是一种类型。也就是说,glion的一个函数或对象集成了mxnet的多个功能,glion的一个命令就可以完成mxnet的开发,就像keras使用tensorflow作为后端一样,keras高度集成了这些后端平台的功能。

其次,编程方法,Python是基于命令编程的,简单但速度有限,glion结合了符号编程和命令编程,既快又简单。

最后,灵活性。Python的集成度没有glion那么高,所以它是高度可定制的。胶子的集成度太高,灵活性有限。

面对Tensorflow,为何我选择PyTorch?

让我们从Python的缺点开始。python自发布以来,在学术界实际生产中的应用比工业界多,主要原因是它不够成熟,很多接口不稳定,综合性不够。Tensorflow仍有许多Python不支持的功能,如快速傅立叶变换,但随着Python的发展,这一缺点将逐渐减少。另外,与tensorflow的静态图相比,tensorflow的静态图很容易部署到任何地方(这比许多框架都要好得多),Python的深度学习框架比Python更先进,部署到其他产品上会非常不方便。

优势从一开始就有。尽管tensorflow自2015年发布以来受到了许多方面的青睐,比如theano,但tensorflow使用的是静态计算图。对于新手来说,有太多的新概念需要学习。因此,无论如何开始或构建,使用tensorflow都比python更困难。2017年,Python被团队开放源码的一个主要原因是更容易构建深度学习模型,这使得Python发展非常迅速。在数据加载方面,Python用于加载数据的API简单高效。它的面向对象API来自于porch(这也是keras的设计起源),它比tensorflow的困难API友好得多。用户可以专注于实现自己的想法,而不是被框架本身所束缚。

在速度方面,python不会为了灵活性而放弃速度。虽然运行速度与程序员的水平密切相关,但在相同的情况下,它可能比其他框架更好。另外,如果追求自定义扩展,python也会是首选,因为虽然两者的构造和绑定有一些相似之处,但tensorflow在扩展中需要大量的模板代码,而只有接口和实现是python编写的。

python代码记不住可以找工作吗?

感谢您的邀请。代码是不会被记住的。你可以多练习。建议通过做小项目来学习。你可以注意我的标题“尤凡提”。课堂上录了很多视频,包括Python/机器学习简介/深度学习简介/pyspark大数据开发/人脸识别项目等,你可以从Python项目开始,根据我的视频一步一步地做项目,慢慢的你会感觉到,也不会问这样的问题。如果硬件条件好,可以选择人工智能作为未来的发展方向。人工智能的发展一般是从python开始的,但是对数学和统计学,特别是概率论和统计学有一定的要求。

人工智能学习的总体路线图:1。数据科学中的统计学基础

你可能没有太多的时间去系统地学习。掌握数据分析和挖掘所需的统计基础,以后慢慢补课。当然,你的专业是统计学,所以没什么大问题。

2. Python核心编程

这本市面上的Python书和视频几乎一样。我建议你看我的视频,快速开始一个小项目。

3. Python

数据分析/数据挖掘

掌握numpy、pandas、Matplotlib等与数据分析相关的库,如果数据分析是发展方向,则关注pandas/Matplotlib,而关注numpy则是AI方向。

4. 机器学习

重点掌握sklearn机器学习库,熟悉各种机器学习算法的优缺点和应用场合。

5. 深入学习

关注CNN/RNN和常见变体,tensorflow2/keras/pytorch框架。

6. 计算机视觉/自然语言处理/语音技术

计算机视觉相对成熟,而NLP是近年来学术界爆发的主要方向。

希望对您有所帮助

专科生学了python然后投了一堆简历根本没有面试邀请,就是因为学历低吗?

事实上,这是由于Python的语言特性。当你学习咕噜,你会发现它很热。因为学生太少,需要帮助的企业也很多,现在还很早。不过,我加入了python,但我也可以学习golang。学习时间很短。

新手选择keras还是pytorch keras和pytorch转换 kerasys

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。