Python快100倍?spaCy和Cython实现真正的企业级项目

http://mb.yidianzixun.com/article/0JYrTe6g?ref=browser_news&s=mb

Cython 是 Python 的超集,所以不要让它吓跑你!

你现在的 Python 程序已经是 Cython 程序。

有几种情况下你可能需要加速,例如:

  • 你正在使用 Python 开发一个 NLP 的生产模块;
  • 你正在使用 Python 计算分析大型 NLP 数据集;
  • 你正在为深度学习框架,如 PyTorch /TensorFlow,预处理大型训练集,或者你的深度学习批处理加载器中的处理逻辑过于繁重,这会降低训练速度

长生剑:Numpy

Numpy 是 Python 提供数值计算的基础模块,也是 Python 生态中历史最为悠久的模块,可称得上 “长生” 二字。如果没有这柄长生剑,就没有办法做快速高效的向量化计算。它还提供了线性代数等高级矩阵运算功能,另外还能集成 C 的代码,让你出剑更加的快。Python 的许多扩展模块都是基于 Numpy 开发的,所以学好 Numpy 就算是奠定好了根基。

碧玉刀:SciPy

SciPy 是基于 Numpy 开发的高级模块,它用于解决科学计算中的一些标准问题。例如数值积分和微分方程求解,扩展的矩阵计算,最优化,概率分布和统计函数,甚至包括信号处理。练习好碧玉刀和长生剑,就足以解决常见的计算问题,并不需要自己哼哧哼哧造轮子写函数了。

孔雀翎:Matplotlib

孔雀的尾羽聚合了世间所有的色彩,做数据研究同样需要漂亮的可视化工具。Matplotlib 是 python 下最著名的绘图库,提供了一整套和 Matlab 相似的 API,十分适合交互式绘图。也可将它作为绘图控件,嵌入各种应用程序中。在其基础之上,还有更为有趣的绘图工具 Seaborn 和 Bokeh。

多情环:Pandas

在数据整理阶段,我们经常需要连接读定不同类型的数据源,处理不同格式的数据对象,如果只使用 Numpy 会很麻烦。Pandas 使 Python 具备了类似 R 的数据框对象。这样方便用于真实江湖的数据处理和分析,它提供大量易用、高效的数据操作函数库,能执行 join 以及其他 SQL 类似的功能来重塑数据,支持各种格式的输入输出数据。它与 Python 生态中的其它模块也有很好的整合,多情环名不虚传。

离别钩:Statsmodels

Statsmodels 是 python 中专门用于统计分析的模块,提供各种回归模型函数,包括广义回归和稳健回归,还提供大量时间序列分析函数,例如 ARIMA/VAR,各种经典假设检验和非参数方法一个都不少。有了离别钩,你可以随时和 R 说离别。

霸王枪:Scikit-learn

Scikit-learn 是非常著名的机器学习库,它提供一个统一的接口来使用不同模型,有助于迅速地在数据集上应用流行的算法。它包含了许多用于标准机器学习任务的工具,例如聚类、分类和回归等。不仅是各种算法,机器学习中重要的特征选择和模型评估均在模块中包含了。值得一提的另一个模块 gensim:提供了词向量、主题模型等函数。有了这两种模块,天下就绝没有不能解决的事。

一口箱子:TensorFlow

古龙并未写完最后的第七种武器,通常会将《英雄无泪》中的一口箱子作为最为神秘最为强悍的终级武器。在 Python 生态中,一口箱子只能属于 TensorFlow。它作为名门大派出品的深度学习框架,一出世就备受瞩目。TensorFlow 提供了 C++ 和 python 两种接口,让你能高效的设计各种机器学习算法,并且能运行在各类硬件架构之上。此外还有各种强力组件搭配,TensorBoard 用于监控学习过程中的各项参数,TensorServer 可用于生产环境的模型部署,甚至传说还有 TPU 这种专门用于深度学习的芯片

在数据江湖中,没有顺手的武器,英雄亦束手加班中。七种武器虽强,但器物总是死的,更重要的是从器物的把玩中,能领悟到运用之妙,数据之道。一件武器是否能令读者觉得神奇有价值,主要还是得看使用它的是什么人。有赤兔的吕布没有看到明天,没有玄铁重剑的杨过却有更进一步的修炼。

江湖路远,少侠们一路走好

猜你喜欢

转载自blog.csdn.net/as472780551/article/details/81093175