Skip to content

Dependency error in Windows 10 Anaconda fresh install #3168

Closed
@risaueno

Description

@risaueno

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 function run':\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 function instantiate':\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

JackCaster commented on Aug 28, 2018

@JackCaster
Contributor

Try to set cores=1 in pm.sample(...). It may be something similar to this #3140

risaueno

risaueno commented on Aug 28, 2018

@risaueno
Author

Thank you, that solved it. I would not have guessed that from the error messages. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @JackCaster@risaueno

        Issue actions

          Dependency error in Windows 10 Anaconda fresh install · Issue #3168 · pymc-devs/pymc