Python 在Windows 10上使用PYMC3-theano无法导入名称';floatX';

Python 在Windows 10上使用PYMC3-theano无法导入名称';floatX';,python,theano,pymc3,Python,Theano,Pymc3,我正在努力让PYMC3在windows上正确安装。我曾尝试通过conda安装-c conda forge pymc3使用Anaconda包,并根据文档在虚拟环境中仅使用pip 它似乎安装正常,但在运行导入pymc3时失败,出现以下错误。研究表明,可能有一些依赖性正在被忽略 >>> import pymc3 WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed i

我正在努力让PYMC3在windows上正确安装。我曾尝试通过
conda安装-c conda forge pymc3
使用Anaconda包,并根据文档在虚拟环境中仅使用pip

它似乎安装正常,但在运行导入pymc3时失败,出现以下错误。研究表明,可能有一些依赖性正在被忽略

    >>> import pymc3
WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed in the next release (v0.10).  Please switch to the gpuarray backend. You can get more information about how to switch at this URL:
 https://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29

ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc installation and try again.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\__init__.py", line 8, in <module>
    from .sampling import *
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\sampling.py", line 11, in <module>
    from .step_methods import (NUTS, HamiltonianMC, Metropolis, BinaryMetropolis,
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\step_methods\__init__.py", line 3, in <module>
    from .hmc import HamiltonianMC
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\step_methods\hmc\__init__.py", line 1, in <module>
    from .hmc import HamiltonianMC
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\step_methods\hmc\hmc.py", line 7, in <module>
    from .base_hmc import BaseHMC
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\step_methods\hmc\base_hmc.py", line 2, in <module>
    from .trajectory import get_theano_hamiltonian_functions
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\step_methods\hmc\trajectory.py", line 3, in <module>
    from pymc3.theanof import join_nonshared_inputs, gradient, CallableTensor, floatX
ImportError: cannot import name 'floatX'
这是我在这里最后一篇文章中修复的:。但现在遇到了一个错误:

    >>> import pymc3
WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed in the next release (v0.10).  Please switch to the gpuarray backend. You can get more information about how to switch at this URL:
 https://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29

Using gpu device 0: GeForce GTX 960M (CNMeM is disabled, cuDNN not available)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\__init__.py", line 4, in <module>
    from .distributions import *
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\distributions\__init__.py", line 1, in <module>
    from . import timeseries
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\distributions\timeseries.py", line 1, in <module>
    import theano.tensor as tt
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\__init__.py", line 116, in <module>
    theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1()
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\sandbox\cuda\tests\test_driver.py", line 32, in test_nvidia_driver1
    profile=False)
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\compile\function.py", line 326, in function
    output_keys=output_keys)
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\compile\pfunc.py", line 486, in pfunc
    output_keys=output_keys)
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\compile\function_module.py", line 1795, in orig_function
    defaults)
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\compile\function_module.py", line 1661, in create
    input_storage=input_storage_lists, storage_map=storage_map)
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\link.py", line 699, in make_thunk
    storage_map=storage_map)[:3]
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\vm.py", line 1098, in make_all
    self.updated_vars,
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\vm.py", line 952, in make_vm
    vm = CVM(
NameError: name 'CVM' is not defined
>>>
>>> import pymc3
Traceback (most recent call last):
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\cutils.py", line 306, in <module>
    from cutils_ext.cutils_ext import *  # noqa
ImportError: No module named 'cutils_ext.cutils_ext'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\cutils.py", line 317, in <module>
    from cutils_ext.cutils_ext import *  # noqa
ImportError: No module named 'cutils_ext.cutils_ext'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\__init__.py", line 4, in <module>
    from .distributions import *
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\distributions\__init__.py", line 1, in <module>
    from . import timeseries
  File "C:\Users\peter\Anaconda3\lib\site-packages\pymc3\distributions\timeseries.py", line 1, in <module>
    import theano.tensor as tt
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\__init__.py", line 80, in <module>
    from theano.scan_module import (scan, map, reduce, foldl, foldr, clone,
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\scan_module\__init__.py", line 41, in <module>
    from theano.scan_module import scan_opt
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\scan_module\scan_opt.py", line 60, in <module>
    from theano import tensor, scalar
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\tensor\__init__.py", line 9, in <module>
    from theano.tensor.subtensor import *
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\tensor\subtensor.py", line 26, in <module>
    import theano.gof.cutils  # needed to import cutils_ext
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\cutils.py", line 320, in <module>
    compile_cutils()
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\cutils.py", line 285, in compile_cutils
    preargs=args)
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\cmodule.py", line 2313, in compile_str
    return dlimport(lib_filename)
  File "C:\Users\peter\Anaconda3\lib\site-packages\theano\gof\cmodule.py", line 302, in dlimport
    rval = __import__(module_name, {}, {}, [module_name])
ImportError: DLL load failed: The specified procedure could not be found.
>>>
导入pymc3 回溯(最近一次呼叫最后一次): 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\gof\cutils.py”,第306行,在 来自cutils_ext.cutils_ext import*#noqa ImportError:没有名为“cutils\u ext.cutils\u ext”的模块 在处理上述异常期间,发生了另一个异常: 回溯(最近一次呼叫最后一次): 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\gof\cutils.py”,第317行,在 来自cutils_ext.cutils_ext import*#noqa ImportError:没有名为“cutils\u ext.cutils\u ext”的模块 在处理上述异常期间,发生了另一个异常: 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“C:\Users\peter\Anaconda3\lib\site packages\pymc3\\uuuu init\uuuuu.py”,第4行,在 从。分配导入* 文件“C:\Users\peter\Anaconda3\lib\site packages\pymc3\distributions\\uuuu init\uuuu.py”,第1行,在 从…起导入时间序列 文件“C:\Users\peter\Anaconda3\lib\site packages\pymc3\distributions\timeseries.py”,第1行,在 将无张量导入为tt 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\\uuuu init\uuuu.py”,第80行,在 从No.scan_模块导入(扫描、映射、还原、折叠、折叠、克隆、, 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\scan\u module\\uuuuu init\uuuu.py”,第41行,在 从编号扫描模块导入扫描选项 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\scan\u module\scan\u opt.py”,第60行,在 从无输入张量,标量 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\tensor\\uuuu init\uuuu.py”,第9行,在 从NO.tensor.Subsensor导入* 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\tensor\subtensor.py”,第26行,在 导入ano.gof.cutils#需要导入cutils_ext 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\gof\cutils.py”,第320行,在 编译_cutils() 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\gof\cutils.py”,第285行,在compile\u cutils中 preargs=args) 文件“C:\Users\peter\Anaconda3\lib\site packages\theano\gof\cmodule.py”,第2313行,在compile\u str中 返回dlimport(lib_文件名) dlimport中第302行的文件“C:\Users\peter\Anaconda3\lib\site packages\theano\gof\cmodule.py” rval=uuu导入(模块名称,{},{},{},[模块名称]) ImportError:DLL加载失败:找不到指定的过程。 >>> 调查还在继续!也许是时候将windows打包并全职使用linux了

EDIT2:我切换到Python2.7环境,它似乎工作正常。必须安装,但之后一切正常


不过,如果能在3.6版本中使用,那就太好了。有人想过吗?

好的,我设法拼凑了一个安装程序

使用
conda install-c conda forge pymc3
进行依赖关系管理时,我运气不佳,无法确定编译器的位置/路径等是否存在问题。因此,我从一开始就重新安装了

我选择了水蟒3号(而不是2号),效果很好

1) 在安装Theano之前,我一直遵循这里的环境设置。但是我安装的不是建议的版本,而是最新的
conda install-c rdonnelly Theano
建议的版本。这是一个很好的坚实的环境设置-我真的推荐msys工具-我以前从未使用过它

Phillferrier指南中的测试脚本是测试功能/性能的好方法

2) 然后我使用
pip安装pymc3
设置pymc3,正如他们在这里建议的那样。但不是git上的最新版本

希望有人觉得这个有用

参考文献:

好的,我设法拼凑了一个安装

使用
conda install-c conda forge pymc3
进行依赖关系管理时,我运气不佳,无法确定编译器的位置/路径等是否存在问题。因此,我从一开始就重新安装了

我选择了水蟒3号(而不是2号),效果很好

1) 在安装Theano之前,我一直遵循这里的环境设置。但是我安装的不是建议的版本,而是最新的
conda install-c rdonnelly Theano
建议的版本。这是一个很好的坚实的环境设置-我真的推荐msys工具-我以前从未使用过它

Phillferrier指南中的测试脚本是测试功能/性能的好方法

2) 然后我使用
pip安装pymc3
设置pymc3,正如他们在这里建议的那样。但不是git上的最新版本

希望有人觉得这个有用

参考文献:

第一条错误消息看起来有点像您可能安装了两个不同的pymc3版本,但它们之间可能会相互干扰。floatX不是一个包,它是pymc3.theanof(大约2个月前)中的一个函数。出于某种原因,您似乎也在theano中启用了gpu后端。可能首先尝试让cpu后端工作。第一条错误消息看起来有点像您可能安装了两个不同的pymc3版本,但不知何故彼此弄乱了。floatX不是一个包,它是pymc3.theanof(大约2个月前)中的一个函数。出于某种原因,您似乎也在theano中启用了gpu后端。也许先让cpu后端工作。