Python还是一门很不错的语言,在业界也日益流行。Python的主要优点有:
Python很适合作为编程的入门语言。
相比C、C++、Java和C#等语言,Python的语法比较简单。
Python的库非常非常多。
跨平台。
PEP8在提高代码可读性方面做了很多工作。
相比Java和C#等语言,Python完全使用reference type,简化了编程的心智模型。
相比C、C++、Java和C#等语言,Python的函数可以作为值传递,更富表达力。
Python 3.6的静态类型检查已经初步可用。
Python的性能对于很多应用而言已经够用了,并且性能密集的部分可以调用外部库。
由于Python的以上优点以及它的流行度,很多机器学习和数据科学的库都使用Python编写,或者提供了Python绑定。下面介绍4个机器学习和数据科学领域非常流行的Python模块。
Numpy
毫无疑问,Numpy是数学和科学计算领域的杀手级模块。Numpy的n维数组和矩阵运算非常好用。不少机器学习库内部其实都使用Numpy进行张量运算。
numpy
TensorFlow
机器学习领域鼎鼎大名的TensorFlow,是一款由Google出品的机器学习框架,主要用于构建和训练识别模式和相关性的神经网络。 Google的机器学习基本上都基于TensorFlow,Google的图像识别和语音识别服务,背后就有TensorFlow的身影。作为Google背书的主流框架,TensorFlow值得一试。
TensorFlow基于C和C++编写,支持并行运算,提供了Python接口。
Theano
Theano是一个类似TensorFlow的机器学习模块。
一般而言,还是推荐使用TensorFlow,TensorFlow在生产环境经受了更多考验。另外,Google对TensorFlow的支持力度很大。事实上,Google挖了很多Theano项目组的人去做TensorFlow。
当然,Theano也不是没有它的优点。从实现上来说,TensorFlow基于C和C++,又因为性能上有很多针对生产环境的优化,比较复杂。而Theano基于Python(性能密集的组件用C编写),实现上要简单很多。从学习的角度上来说,Theano要更合适一点。实际上,相比工业界广泛使用TensorFlow,学术界反而是用Theano比较多。
Keras
Keras封装了TensorFlow和Theano,相比直接使用TensorFlow和Theano,Keras要易用很多。几行Python语句就可以用Keras搭一个简单的神经网络。
另外,Keras基于Python编写,代码的可读性很强,文档也很齐全。上手机器学习,使用Keras要比直接使用TensorFlow或者Theano容易很多。
当然,由于封装比较高级,在调试和深度定制方面,Keras就不如直接使用它的后端(TensorFlow或者Theano)方便了。
机器人网原创文章,未经授权禁止转载。详情见转载须知
本文来自机器人网,如若转载,请注明出处:https://www.jqr.com/news/008035