pymc3不起作用,使用Anaconda3获取nan并且没有类型错误

我刚刚安装了pymc3,它对我来说只是“部分”工作。我正在Windows的64位安装上使用Anaconda,但我不认为这是问题所在(即,我认为问题不在于需要切换到32位anaconda)。


各种示例都不适合我,因此我尝试遍历此示例:http : //docs.pymc.io/notebooks/getting_started.html#A-Motivating-Example : -Linear-Regression


一切正常,直到:


   with basic_model:

       # draw 500 posterior samples

       trace = pm.sample(500)

那时候,我得到一个错误。编辑:我确实有理由相信它是幸运的,因为通过重新安装theanos和其他工具,我得到了进一步的了解。但我仍然得到这个:


C:\Users\Yurik\Anaconda3\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.

  from ._conv import register_converters as _register_converters

Running on PyMC3 v3.4.1

WARNING (theano.gof.compilelock): Overriding existing lock by dead process '26576' (I am process '27640')

Auto-assigning NUTS sampler...

Initializing NUTS using jitter+adapt_diag...

Multiprocess sampling (2 chains in 2 jobs)

NUTS: [sigma_log__, beta, alpha]

Traceback (most recent call last):


  File "<ipython-input-1-1ef2ccded6b8>", line 1, in <module>

    runfile('C:/Users/Yurik/.spyder-py3/temp.py', wdir='C:/Users/Yurik/.spyder-py3')


  File "C:\Users\Yurik\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile

    execfile(filename, namespace)


  File "C:\Users\Yurik\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile

    exec(compile(f.read(), filename, 'exec'), namespace)


  File "C:/Users/Yurik/.spyder-py3/temp.py", line 57, in <module>

    trace = pm.sample(500)


  File "C:\Users\Yurik\Anaconda3\lib\site-packages\pymc3\sampling.py", line 442, in sample

    trace = _mp_sample(**sample_args)


  File "C:\Users\Yurik\Anaconda3\lib\site-packages\pymc3\sampling.py", line 982, in _mp_sample

    traces = Parallel(n_jobs=cores, mmap_mode=None)(jobs)



阿晨1998
浏览 315回答 1
1回答

狐的传说

我终于想通了!跟踪函数后,我注意到loky正在获取cores = None,并且有一个可选参数。因此,该示例需要在pm.sample的参数中包含cores = 1(或类似值),然后它才能工作!像下面with basic_model:&nbsp;&nbsp; &nbsp;# draw 500 posterior samples&nbsp;&nbsp; &nbsp;trace = pm.sample(500, cores=1)(尽管也值得注意的是,我需要安装/重新安装几个依赖项,theanos和mw64或类似的东西,直到我到达这一点为止)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python