近几年,随着深度学习指数级发展,深度学习的框架使用在人工智能领域也起着举足轻重的作用,这其中包括Tensoflow、Pytorch、Keras、paddle等等。
那么面对这些框架,究竟使用哪个呢?
TensorFlow由Google智能机器研究部门研发;TensorFlow编程接口支持Python和C++。随着1.0版本的公布,相继支持了Java、Go、R和Haskell API的alpha版本。2.0版本又把Keras的相关API都嵌入到tf中,使得其功能更加强大。但由于版本变动过大,因此1.0版本的代码在2.0版本好多都报错,造成版本升级迭代困难。
在2017年,Tensorflow独占鳌头,处于深度学习框架的领先地位;但截至目前已经和Pytorch不争上下,甚至略输入Pytorch。
Tensorflow目前主要在工业级领域处于领先地位。
tensorflow学习教程:https://github.com/aymericdamien/TensorFlow-Examples
Pytorch目前是由Facebook人工智能学院提供支持服务的。
Pytorch目前主要在学术研究方向领域处于领先地位,许多学术论文都是用pytorch编写的,因此使用范围更广。
其优点在于:PyTorch可以使用强大的GPU加速的Tensor计算(比如:Numpy的使用)以及可以构建带有autograd的深度神经网络。
同时,PyTorch 的代码很简洁、易于使用、支持计算过程中的动态图而且内存使用很高效,版本之间差异也不大,没有升级方面的困难。
Pytorch学习教程:在本公众号菜单栏->AI必备框架学习tab
Keras是基于Tensorflow用纯python编写的深度学习框架,也就是说它是在Tensorflow的基础上再次集成的;所以,他的代码会更加简洁方便,适于初学者;但因为它是在Tensorflow的框架上再次封装的,那么运行速度肯定就没有Tensorflow快了。
其主要优点在于:
Keras可以说是专为人类的API;Keras遵循减少认知困难的最佳实践:Keras提供一致而简洁的API, 能够极大减少一般应用下用户的工作量。
添加新的网络层等是非常容易的,只需要仿照现有的模块编写新的类或函数,然后使用model.add()即可。创建新模块的便利性使得Keras更适合于先进的研究工作。
keras学习教程:在本公众号菜单栏->AI必备框架学习tab
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件、丰富的工具组件于一体,是中国首个自主研发、功能完备、开源开放的产业级深度学习平台。国内的可以优先选择paddlepaddle,这是因为百度在大力推广该框架,能提供丰富的算力支持和技术支持,且百度开源了众多模型和应用,是人工智能入门的一个好选择,且能在模型上面进行一系列魔改,强烈推荐!
学习教程及模型库连接:https://gitee.com/paddlepaddle
https://www.paddlepaddle.org.cn/
综上所述: