[英]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.