繁体   English   中英

使用Numba和scikit-learn

[英]Using Numba with scikit-learn

有没有人成功地使用numba和jit compilaition来加速scikit-learn模型。 我正在研究的具体模型是回归模型,例如Logistic回归。

我能够使用numba来优化我使用sklearn模型编写的函数,但模型函数本身不受此影响且未经优化,因此不会显着提高速度。 有没有办法优化sklearn功能?

任何关于此的信息将非常感激。

Scikit-learn大量使用numpy,其中大部分是用C编写的并且已经编译(因此不符合JIT优化条件)。

此外,LogisticRegression模型本质上是具有适当损失函数的LinearSVC。 我可能会有点错误,但无论如何,它使用LIBLINEAR进行求解,这也是一个已编译的C库。

scikit-learn的制造者也大量使用了Pyrex之一的python到编译系统,这再次导致优化的机器编译代码不适合JIT编译。

@numba.vectorize for arrays和@numba.guvectorise for @numba.guvectorise ,装饰器可能会有所帮助,因为它们可以组合循环操作。 它们生成所谓的“ufunc”来实现这个目标,但不是必须自己手动编写c代码,而是从python输入生成它。

请参阅: http//numba.pydata.org/numba-doc/dev/user/vectorize.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM