在windows 10 64bi上安装anaconda numpy、theano和pymc3

2024-09-30 14:29:07 发布

您现在位置:Python中文网/ 问答频道 /正文

作为一个初学者,我尝试在我的surface pro 4/win 10 64位上安装pymc3,在网上搜索了一些信息,并遇到了一些问题。现在我想分享一下我的经验,并提出一些问题。在

首先,我选择了winpython3.5.2.3Qt5和python3.5。然而,当我运行pymc3启动示例线性回归模型enter link description here时,我遇到了崩溃错误:有时是“内核死了”,有时是“ImportError:DLL load”失败:初始化例程失败”。为了解决这个问题,我搜索了博客/文章,发现其他人推荐使用python2.7enter link description here的Python。也有人说Theano0.8.2只是支持Python3.4,而不是3.5。我想有一些兼容的问题会导致崩溃。 最后,我用Python2.7安装了64位的Anaconda4.2。在

问题1:由于《水蟒2.5 MKL》是免费和自动安装的,我根据一些博客测试了numpy和MKL之间的链接。在

(一)

numpy.__config__.show()
lapack_opt_info:
    libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll']
    library_dirs = ['C:/Users/sejab/Anaconda2\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:/Users/sejab/Anaconda2\\Library\\include']
blas_opt_info:
    libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll']
    library_dirs = ['C:/Users/sejab/Anaconda2\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:/Users/sejab/Anaconda2\\Library\\include']
openblas_lapack_info:
  NOT AVAILABLE
lapack_mkl_info:
    libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll']
    library_dirs = ['C:/Users/sejab/Anaconda2\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:/Users/sejab/Anaconda2\\Library\\include']
blas_mkl_info:
    libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll']
    library_dirs = ['C:/Users/sejab/Anaconda2\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:/Users/sejab/Anaconda2\\Library\\include']

但是在anaconda文件夹中没有mkl_intel_lp64文件。这无关紧要吗?

2)id(numpy.dot) == id(numpy.core.multiarray.dot) >> True 有人说如果他们有联系,纽比应该使用numpy.core公司.\u dotblas。这是否意味着numpy dot在环境中也使用多数组而不是MKL blas?

总之,在水蟒中,numpy会自动与MKL链接吗?

第二,Theano是一个特殊的包,因为它需要c/c++和cuda编译配置。因为我的笔记本电脑没有nvidiagpu,所以我只需要关注c/c++编译环境。官方的theano安装指南和许多文章/博客建议首先使用conda install mingw libpython 然后是吉特。但是,我发现conda install theano已经包含了mingw64(可能是TDM-gcc64?)组件和libpython。所以我只运行命令来安装theano,并认为它足够了。然后我把g++的路径放到系统路径中 (在我的环境中,是的

"C:\Users\sejab\Anaconda2\Library\mingw-w64\bin", "C:\Users\sejab\Anaconda2\Library\mingw-w64\x86_64-w64-mingw32\bin" and corresponding "include“ path).

要验证安装,请使用测试程序

^{pr2}$

没关系。Result difference: 0.000000。在

第三,我遵循官方手册安装指南和其他博客上的说明

1)下载预编译的OpenBLAS-v0.2.19-Win64-int32.zip并提取到c:\,放入其bin和include路径到系统路径中

2)创建一个。电子邮件.txt在根中

C:\Users\sejab

写进

[global]
device = cpu
floatX = float64

[blas]
ldflags = -LC:/OpenBLAS-v0.2.19-Win64-int32/bin -lopenblas

用ano配置oopenblas。再次进行上述测试

NP time: 0.431000[s], theano time: 0.307000[s] (times should be close when run on CPU!) Result difference: 0.000000。在

如果floatX = float32,则{}不是0。在

问题2:是否有其他方法来验证ano和openblas之间的链接?当矩阵A、B的值固定不变时,测试CPU时间也会发生变化

问题3:在测试中,ANO是否自动使用多核?如果没有,如何配置?在

最后,我用conda install -c conda-forge pymc3来安装pymc3。在pymc3官方教程中,解决相同的线性回归模型没有问题。在

它有点长,但我希望它能帮助别人。在


Tags: coreinfonumpynoneincludelibraryusersdll