Description
Windows 10, conda version 4.5.4, python 3.6. I have MinGW on my machine. python main.py
works on my Mac without a problem. With just conda install -c conda-forge pymc3
with pip install -r requirements.txt
from github, I get the following:
RuntimeError:
Could not import 'mkl'. If you are using conda, update the numpy
packages to the latest build otherwise, set MKL_THREADING_LAYER=GNU in
your environment for MKL 2018.
If you have MKL 2017 install and are not in a conda environment you
can set the Theano flag blas.check_openmp to False. Be warned that if
you set this flag and don't set the appropriate environment or make
sure you have the right version you will get wrong results.
I then did conda install numpy
or conda install numpy mkl-service
, then tried to run my code - I get a new error:
You can find the C code in this temporary file: C:\Users\User\AppData\Local\Temp\theano_compilation_error_3oto0z3u
Traceback (most recent call last):
File "main.py", line 362, in
main()
File "main.py", line 155, in main
Result = algorithm.run_simulation(n, T, I_samples)
File "C:\Users\User\Documents\User\test-ihdp\test-ihdp\test_bayesian.py", line 102, in run_simulation
y_post, model, trace = self.get_posterior()
File "C:\Users\User\Documents\User\test-ihdp\test-ihdp\test_bayesian.py", line 217, in get_posterior
hyper_mu = pm.Normal('hyper_mu', mu=0, sd=10)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\pymc3\distributions\distribution.py", line 42, in new
return model.Var(name, dist, data, total_size)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\pymc3\model.py", line 808, in Var
total_size=total_size, model=self)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\pymc3\model.py", line 1215, in init
self.scaling = _get_scaling(total_size, self.shape, self.ndim)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\tensor\var.py", line 275, in
shape = property(lambda self: theano.tensor.basic.shape(self))
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\op.py", line 670, in call
no_recycling=[])
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\op.py", line 955, in make_thunk
no_recycling)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\op.py", line 858, in make_c_thunk
output_storage=node_output_storage)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cc.py", line 1217, in make_thunk
keep_lock=keep_lock)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cc.py", line 1157, in compile
keep_lock=keep_lock)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cc.py", line 1620, in cthunk_factory
key=key, lnk=self, keep_lock=keep_lock)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cmodule.py", line 1181, in module_from_key
module = lnk.compile_cmodule(location)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cc.py", line 1523, in compile_cmodule
preargs=preargs)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cmodule.py", line 2388, in compile_str
(status, compile_stderr.replace('\n', '. ')))
Exception: ("Compilation failed (return status=1): C:\Users\User\AppData\Local\Temp\ccqL3Yhq.o: In functionrun':\r. C:/Users/User/AppData/Local/Theano/compiledir_Windows-10-10.0.17134-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.6.6-64/tmpiun17xua/mod.cpp:89: undefined reference to
__imp__Py_NoneStruct'\r. C:/Users/User/AppData/Local/Theano/compiledir_Windows-10-10.0.17134-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.6.6-64/tmpiun17xua/mod.cpp:165: undefined reference to__imp_PyExc_NotImplementedError'\r. C:/Users/User/AppData/Local/Theano/compiledir_Windows-10-10.0.17134-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.6.6-64/tmpiun17xua/mod.cpp:136: undefined reference to
__imp__Py_NoneStruct'\r. C:/Users/User/AppData/Local/Theano/compiledir_Windows-10-10.0.17134-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.6.6-64/tmpiun17xua/mod.cpp:171: undefined reference to__imp_PyExc_RuntimeError'\r. C:/Users/User/AppData/Local/Theano/compiledir_Windows-10-10.0.17134-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.6.6-64/tmpiun17xua/mod.cpp:202: undefined reference to
__imp__Py_NoneStruct'\r. C:/Users/User/AppData/Local/Theano/compiledir_Windows-10-10.0.17134-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.6.6-64/tmpiun17xua/mod.cpp:201: undefined reference to__imp__Py_NoneStruct'\r. C:/Users/User/AppData/Local/Theano/compiledir_Windows-10-10.0.17134-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.6.6-64/tmpiun17xua/mod.cpp:200: undefined reference to
__imp__Py_NoneStruct'\r. C:\Users\User\AppData\Local\Temp\ccqL3Yhq.o: In functioninstantiate':\r. C:/Users/User/AppData/Local/Theano/compiledir_Windows-10-10.0.17134-SP0-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.6.6-64/tmpiun17xua/mod.cpp:236: undefined reference to
__imp_PyExc_TypeError'\r. C:\Users\User\AppData\Local\Temp\ccqL3Yhq.o: In function_import_array':\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1481: undefined reference to
__imp_PyCapsule_Type'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1482: undefined reference to__imp_PyExc_RuntimeError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1483: undefined reference to
__imp_PyExc_ImportError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1511: undefined reference to__imp_PyExc_RuntimeError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1511: undefined reference to
__imp_PyExc_ImportError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1470: undefined reference to__imp_PyExc_ImportError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1533: undefined reference to
__imp_PyExc_RuntimeError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1533: undefined reference to__imp_PyExc_ImportError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1476: undefined reference to
__imp_PyExc_AttributeError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1476: undefined reference to__imp_PyExc_ImportError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1497: undefined reference to
__imp_PyExc_RuntimeError'\r. C:/Users/User/Anaconda3/envs/myenv3/lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1497: undefined reference to `__imp_PyExc_ImportError'\r. collect2.exe: error: ld returned 1 exit status\r. ", '[Shape(hyper_mu)]')
So then I did conda install libpython
then ran it again - I get the following:
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (2 chains in 4 jobs)
NUTS: [c, hyper_sd, hyper_mu]
Sampling 2 chains: 0%| | 0/3000 [00:00<?, ?draws/s]
You can find the C code in this temporary file: C:\Users\User\AppData\Local\Temp\theano_compilation_error_3dmilkdy
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\User\Anaconda3\envs\myenv3\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\compile\function_module.py", line 1082, in _constructor_Function
f = maker.create(input_storage, trustme=True)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\compile\function_module.py", line 1715, in create
input_storage=input_storage_lists, storage_map=storage_map)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\link.py", line 699, in make_thunk
storage_map=storage_map)[:3]
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\vm.py", line 1091, in make_all
impl=impl))
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\op.py", line 955, in make_thunk
no_recycling)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\op.py", line 858, in make_c_thunk
output_storage=node_output_storage)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cc.py", line 1217, in make_thunk
keep_lock=keep_lock)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cc.py", line 1157, in compile
keep_lock=keep_lock)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cc.py", line 1620, in cthunk_factory
key=key, lnk=self, keep_lock=keep_lock)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cmodule.py", line 1181, in module_from_key
module = lnk.compile_cmodule(location)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cc.py", line 1523, in compile_cmodule
preargs=preargs)
File "C:\Users\User\Anaconda3\envs\myenv3\lib\site-packages\theano\gof\cmodule.py", line 2388, in compile_str
(status, compile_stderr.replace('\n', '. ')))
Exception: ('The following error happened while compiling the node', Alloc(Elemwise{switch,no_inplace}.0, TensorConstant{4}, TensorConstant{4}), '\n', 'Compilation failed (return status=3): ', '[Alloc(<TensorType(float64, (True, True))>, TensorConstant{4}, TensorConstant{4})]')
forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFA386B94C4 Unknown Unknown Unknown
KERNELBASE.dll 00007FFA834556FD Unknown Unknown Unknown
KERNEL32.DLL 00007FFA86693034 Unknown Unknown Unknown
ntdll.dll 00007FFA86F71431 Unknown Unknown Unknown
forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFA386B94C4 Unknown Unknown Unknown
KERNELBASE.dll 00007FFA834556FD Unknown Unknown Unknown
KERNEL32.DLL 00007FFA86693034 Unknown Unknown Unknown
ntdll.dll 00007FFA86F71431 Unknown Unknown Unknown
forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFA386B94C4 Unknown Unknown Unknown
KERNELBASE.dll 00007FFA834556FD Unknown Unknown Unknown
KERNEL32.DLL 00007FFA86693034 Unknown Unknown Unknown
ntdll.dll 00007FFA86F71431 Unknown Unknown Unknown
QObject::~QObject: Timers cannot be stopped from another thread
Then I added conda install m2w64-toolchain
, which then seems to be fine - it runs my code for a few iterations and until it spits out the following, aborting the code randomly without pressing Ctrl-C:
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (2 chains in 4 jobs)
NUTS: [c, hyper_sd, hyper_mu]
Sampling 2 chains: 3%|█▋ | 65/2200 [00:01<04:20, 8.21draws/s]forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFA3E6794C4 Unknown Unknown Unknown
KERNELBASE.dll 00007FFA834556FD Unknown Unknown Unknown
KERNEL32.DLL 00007FFA86693034 Unknown Unknown Unknown
ntdll.dll 00007FFA86F71431 Unknown Unknown Unknown
forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFA3E6794C4 Unknown Unknown Unknown
KERNELBASE.dll 00007FFA834556FD Unknown Unknown Unknown
KERNEL32.DLL 00007FFA86693034 Unknown Unknown Unknown
ntdll.dll 00007FFA86F71431 Unknown Unknown Unknown
forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFA3E6794C4 Unknown Unknown Unknown
KERNELBASE.dll 00007FFA834556FD Unknown Unknown Unknown
KERNEL32.DLL 00007FFA86693034 Unknown Unknown Unknown
ntdll.dll 00007FFA86F71431 Unknown Unknown Unknown
QObject::~QObject: Timers cannot be stopped from another thread
If relevant, my code that does the sampling looks like:
with model:
pm.Binomial('L1', n=self.N_data, p=p, observed=self.observed_successes)
p_exp = pm.math.sum(p * theta, axis=1)
pm.Binomial('L2', n=N_data_exp, p=p_exp, observed=experimental_successes)
trace = pm.sample(1000, nuts_kwargs=dict(target_accept=.9, max_treedepth=20))
Activity
JackCaster commentedon Aug 28, 2018
Try to set
cores=1
inpm.sample(...)
. It may be something similar to this #3140risaueno commentedon Aug 28, 2018
Thank you, that solved it. I would not have guessed that from the error messages. :)