Scikit learn 安装sci工具包学习无图集

Scikit learn 安装sci工具包学习无图集,scikit-learn,Scikit Learn,我正在尝试安装scikit learn,这样它就无法访问ATLAS(其他BLAS和LAPACK库也可以)。有没有办法设置安装,使ATLAS不被使用?很抱歉问了一个基本的问题,但我看不出有什么好办法 我想这样做的原因是:我在一个集群上工作,无法构建atlas,但它的预安装版本已损坏(在16个内核上编译,节点上只有8个内核,pthread问题),因此当我安装scikit learn时,我的scikit learn尝试启动这些库,但我遇到了错误 谢谢 编辑:看起来我有些地方做错了,事实上,在我针对op

我正在尝试安装scikit learn,这样它就无法访问ATLAS(其他BLAS和LAPACK库也可以)。有没有办法设置安装,使ATLAS不被使用?很抱歉问了一个基本的问题,但我看不出有什么好办法

我想这样做的原因是:我在一个集群上工作,无法构建atlas,但它的预安装版本已损坏(在16个内核上编译,节点上只有8个内核,pthread问题),因此当我安装scikit learn时,我的scikit learn尝试启动这些库,但我遇到了错误

谢谢

编辑:看起来我有些地方做错了,事实上,在我针对openblas编译scipy之后,它仍然是坏的。在其中一个单元测试中,我得到:

断言!pthread_create(&thr->thrH,&attr,rout,arg)失败,文件/var/tmp/portage/sci libs/atlas-3.10.1-r2/work/atlas//src/threads/ATL_thread_start.c的第111行


现在有点长了,但是你知道为什么我的scipy构建还要看ATLAS吗?

Numpy、scipy和scikit learn都会尝试链接到ATLAS,如果他们找到的话。虽然如果系统上没有找到ATLAS或其他BLAS/LAPACK,scikit learn可以根据其自身的BLAS嵌入式子集进行构建,但scipy无论如何都需要BLAS/LAPACK实现

您可以做的是根据本地构建的ATLAS或OpenBLAS构建自己的numpy、scipy和scikit learn版本(后者以github上的主分支为例)

为此,您需要在生成之前自定义numpy和scipy源文件夹中的site.cfg文件

您还应该使用以下内容构建OpenBLAS:

make TARGET=NEHALEM NO_AFFINITY=1 NUM_THREADS=8 USE_OPENMP=0

我认为numpy也使用BLAS/LAPACK。你应该检查你的numpy是否与ATLAS链接。谢谢,我有。我相信没有ATLAS,我已经建立了Numpy和Scipy。仅在numpy导入时失败的代码现在运行良好。这是使用“BLAS=LAPACK=ATLAS=NONE setup.py install”完成的,您可能只想让您的群集管理员修复部署在群集上的ATLAS的安装。谢谢-我已经为numpy和scipy完成了此操作,但找不到scikit learn的相关标志。我已经和我的集群管理员谈过了。。。有时候,如果你想做某事,你必须自己去做;-)scikit learn在构建时使用numpy查找BLAS的位置:嗯,好的,你说得对。我的scipy构建似乎也没有通过单元测试(与我在scikit learn中遇到的错误相同。我将更新我的问题,我不确定为什么会出现ATLAS错误。