Ошибка компиляции Python 2.7 (теано), Windows 10

Я пытался посмотреть, что другие сделали с проблемой, похожей на мою, но все равно получаю ту же ошибку. Я понятия не имею, что вызывает это. Я пробовал следующее: Как установить Theano на Anaconda Python 2.7 x64 в Windows?

но это не помогло.

Я пытаюсь запустить этот пример, но с собственным набором данных: https://github.com/Lasagne/Lasagne/blob/master/examples/mnist.py

Сообщение об ошибке выглядит следующим образом, я не включил 787 других строк между ними:

C:\Anaconda2\python.exe "C:/Users/mikrolab/Dropbox/Skole UiS/4. semester/Master/Master/hoved/ansiktsgjenkjenning/sklearntest.py" mlp 400

C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\tensor\signal\downsample.py:6: UserWarning: downsample module has been moved to the theano.tensor.signal.pool module.
  "downsample module has been moved to the theano.tensor.signal.pool module.")

Loading data...
Building model and compiling functions...
WARNING (theano.gof.compilelock): Overriding existing lock by dead process '10436' (I am process '16120')


Problem occurred during compilation with the command line below:
C:\Anaconda2\Scripts\g++.bat -shared -g -O3 -fno-math-errno -Wno-unused-label -Wno-unused-variable -Wno-write-strings -march=core2 -mcx16 -msahf -mno-movbe -mno-aes -mno-pclmul -mno-popcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -mno-sse4.2 -msse4.1 -mno-lzcnt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=core2 -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m32 -IC:\Anaconda2\lib\site-packages\numpy\core\include -IC:\Anaconda2\include -IC:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof -o C:\Users\mikrolab\AppData\Local\Theano\compiledir_Windows-10-10.0.10586-Intel64_Family_6_Model_23_Stepping_10_GenuineIntel-2.7.11-32\tmpahcj6d\df1196e30ea06df2bcfcd011958dc6f5.pyd C:\Users\mikrolab\AppData\Local\Theano\compiledir_Windows-10-10.0.10586-Intel64_Family_6_Model_23_Stepping_10_GenuineIntel-2.7.11-32\tmpahcj6d\mod.cpp -LC:\Anaconda2\libs -LC:\Anaconda2 -lpython27

Traceback (most recent call last):

File "C:/Users/mikrolab/Dropbox/Skole UiS/4. semester/Master/Master/hoved/ansiktsgjenkjenning/sklearntest.py", line 312, in <module>

C:\Users\mikrolab\AppData\Local\Theano\compiledir_Windows-10-10.0.10586-Intel64_Family_6_Model_23_Stepping_10_GenuineIntel-2.7.11-32\tmpahcj6d\mod.cpp: In member function 'int {anonymous}::__struct_compiled_op_df1196e30ea06df2bcfcd011958dc6f5::run()':

C:\Users\mikrolab\AppData\Local\Theano\compiledir_Windows-10-10.0.10586-Intel64_Family_6_Model_23_Stepping_10_GenuineIntel-2.7.11-32\tmpahcj6d\mod.cpp:457:34: error: cannot convert 'npy_int64* {aka long long int*}' to 'npy_intp* {aka int*}' in argument passing

main(**kwargs)

File "C:/Users/mikrolab/Dropbox/Skole UiS/4.semester/Master/Master/hoved/ansiktsgjenkjenning/sklearntest.py", line 245, in main
    updates = updates)
  File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\compile\function.py", line 322, in function
    output_keys=output_keys)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\compile\pfunc.py", line 480, in pfunc
    output_keys=output_keys)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\compile\function_module.py", line 1779, in orig_function
    defaults)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\compile\function_module.py", line 1643, in create
    input_storage=input_storage_lists, storage_map=storage_map)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\link.py", line 690, in make_thunk
    storage_map=storage_map)[:3]

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\vm.py", line 1005, in make_all
    no_recycling))

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\op.py", line 978, in make_thunk
    no_recycling)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\op.py", line 881, in make_c_thunk
    output_storage=node_output_storage)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\cc.py", line 1200, in make_thunk
    keep_lock=keep_lock)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\cc.py", line 1143, in compile
    keep_lock=keep_lock)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\cc.py", line 1595, in cthunk_factory
    key=key, lnk=self, keep_lock=keep_lock)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\cmodule.py", line 1142, in module_from_key
    module = lnk.compile_cmodule(location)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\cc.py", line 1506, in compile_cmodule
    preargs=preargs)

File "C:\Anaconda2\lib\site-packages\theano-0.8.0-py2.7.egg\theano\gof\cmodule.py", line 2204, in compile_str
    (status, compile_stderr.replace('\n', '. ')))
Exception: ('The following error happened while compiling the node', mrg_uniform{TensorType(float32, 4D),inplace}(<TensorType(int32, matrix)>, MakeVector{dtype='int64'}.0), '\n', "Compilation failed (return status=1): 

C:\\Users\\mikrolab\\AppData\\Local\\Theano\\compiledir_Windows-10-10.0.10586-Intel64_Family_6_Model_23_Stepping_10_GenuineIntel-2.7.11-32\\tmpahcj6d\\mod.cpp: In member function 'int {anonymous}::__struct_compiled_op_df1196e30ea06df2bcfcd011958dc6f5::run()':\r. 

C:\\Users\\mikrolab\\AppData\\Local\\Theano\\compiledir_Windows-10-10.0.10586-Intel64_Family_6_Model_23_Stepping_10_GenuineIntel-2.7.11-32\\tmpahcj6d\\mod.cpp:457:34: error: cannot convert 'npy_int64* {aka long long int*}' to 'npy_intp* {aka int*}' in argument passing\r. ", '[*1 -> mrg_uniform{TensorType(float32, 4D),inplace}(<TensorType(int32, matrix)>, <TensorType(int64, vector)>), *1::1]')

Process finished with exit code 1

Решено. Выполнены все части следующих инструкций: http://deeplearning.net/software/theano/install_windows.html#install-windows

также сделал это: почему nvcc не может найти мою установку Visual C++?

Теперь Theano работает и использует мой GPU.


person Laende    schedule 05.04.2016    source источник


Ответы (1)


Используйте Microsoft Visual Studio 2010 с Anaconda, так как для совместимости вам придется использовать тот же компилятор, который они использовали для компилируемых пакетов. У них есть привязки mingw, но я не уверен, насколько они совместимы.

person Matt    schedule 05.04.2016
comment
Это означает, что я должен сначала установить Visual Studio, а затем Anaconda с Theano? - person Laende; 05.04.2016
comment
Не нужно просто компилировать Theano с Visual Studio 2010, поскольку вы используете Anaconda 2.7. Могу я спросить, почему вы просто не открываете окно командной строки и не набираете › conda install theano - person Matt; 06.04.2016
comment
Переустановка и обновление Anaconda сейчас. Попробую и это. - person Laende; 06.04.2016
comment
Но тогда я не получу версию Theona Bleeding edge? - person Laende; 06.04.2016
comment
Вы не получите версию для разработки, поэтому я понимаю, почему вы хотите ее скомпилировать. - person Matt; 06.04.2016
comment
› conda install theano не работает, кстати. Я думаю, что проблема не в самой Theona, а в компиляторе. - person Laende; 06.04.2016
comment
Удалил MinGW и теперь скрипт работает. но уж больно медленно. Предполагается, что он выполняет итерацию по пакету размером 500, и для каждого пакета требуется около 1 минуты... - person Laende; 06.04.2016
comment
Странно, что конда не сработала, возможно, вы находитесь за брандмауэром... Пип работает? - person Matt; 06.04.2016
comment
да, но у меня установлен theano, проблема не в этом. Проблема в компиляторе. - person Laende; 06.04.2016