我是python和pymc3的新手。我正在尝试复制PYMC3文档站点https://docs.pymc.io/notebooks/getting_started.html#A-Motivating-Example:-Linear-Regression给出的线性回归示例。我在Windows 10上运行anaconda 5.2,python 3.6.5,这也导致控制台冻结,命令行消失。
有人可以帮助我了解此错误吗?
import numpy as np
import matplotlib.pyplot as plt
# Initialize random number generator
np.random.seed(123)
# True parameter values
alpha, sigma = 1, 1
beta = [1, 2.5]
# Size of dataset
size = 100
# Predictor variable
X1 = np.random.randn(size)
X2 = np.random.randn(size) * 0.2
# Simulate outcome variable
Y = alpha + beta[0]*X1 + beta[1]*X2 + np.random.randn(size)*sigma
import pymc3 as pm
print('Running on PyMC3 v{}'.format(pm.__version__))
basic_model = pm.Model()
with basic_model:
# Priors for unknown model parameters
alpha = pm.Normal('alpha', mu=0, sd=10)
beta = pm.Normal('beta', mu=0, sd=10, shape=2)
sigma = pm.HalfNormal('sigma', sd=1)
# Expected value of outcome
mu = alpha + beta[0]*X1 + beta[1]*X2
# Likelihood (sampling distribution) of observations
Y_obs = pm.Normal('Y_obs', mu=mu, sd=sigma, observed=Y)
map_estimate = pm.find_MAP(model=basic_model)
map_estimate
map_estimate = pm.find_MAP(model=basic_model, method='powell')
map_estimate
with basic_model:
# draw 500 posterior samples
trace = pm.sample(500)
with basic_model:
# instantiate sampler
step = pm.Slice()
# draw 5000 posterior samples
trace = pm.sample(5000, step=step)
pm.traceplot(trace);
pm.summary(trace).round(2)
我收到的错误:
Exception: ('The following error happened while compiling the node',
Alloc(TensorConstant{(1,) of 0.0}, Shape_i{0}.0), '\n', 'Compilation failed
(return status=3): ', '[Alloc(TensorConstant{(1,) of 0.0},
<TensorType(int64, scalar)>)]')
forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFBD1A594C4 Unknown Unknown Unknown
KERNELBASE.dll 00007FFC0098717D Unknown Unknown Unknown
KERNEL32.DLL 00007FFC02EF2774 Unknown Unknown Unknown
ntdll.dll 00007FFC043D0D51 Unknown Unknown Unknown
ERROR: The process "4828" not found.
forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFBD1A594C4 Unknown Unknown Unknown
KERNELBASE.dll 00007FFC0098717D Unknown Unknown Unknown
KERNEL32.DLL 00007FFC02EF2774 Unknown Unknown Unknown
ntdll.dll 00007FFC043D0D51 Unknown Unknown Unknown
Process finished with exit code 0
答案 0 :(得分:0)
一般来说,对于pymc3问题,最好进入其discourse页面。
但是,我在Windows上的pymc3遇到了类似的问题(请注意,不是完全一样的错误消息)。尝试在示例函数中设置njobs=1
,看看是否有帮助。
更新:上面的代码在我的机器上似乎可以正常编译,所以也许尝试将pymc3 / python更新到最新版本
答案 1 :(得分:0)
在程序仍在运行时,您似乎按下了“ Ctrl + C ”,并终止了该程序。尽量不要按“ Ctrl + C ”。