4

我有 windows 8.1 64bit 并在此处推荐使用http://deeplearning.net/software/theano/install_windows.html#installing-theano python win-python 发行版(python 3.4)。我已经完成了教程的每一步(不包括 CUDA 的东西和 GPU 配置),卸载了所有东西,然后又做了一次,但我的问题仍然存在。我正在尝试使用千层面构建卷积神经网络。到目前为止我测试过的每一层都在工作——只有 Conv2DLayer 会抛出错误。代码如下:

net2 = NeuralNet(
layers=[
    ('input', layers.InputLayer),
    ('conv1', layers.Conv2DLayer),
    ('pool1', layers.MaxPool2DLayer),
    ('hidden4', layers.DenseLayer),
    ('hidden5', layers.DenseLayer),
    ('output', layers.DenseLayer),
    ],
input_shape=(None, 1, 96, 96),
conv1_num_filters=32, conv1_filter_size=(3, 3),
pool1_pool_size=(2, 2),
hidden4_num_units=500, hidden5_num_units=500,
output_num_units=30, output_nonlinearity=None,
update_learning_rate=0.01,
update_momentum=0.9,
regression=True,
max_epochs=400,
verbose=1,
)

下面我粘贴了我得到的错误。我想 gcc 出了点问题(我从教程中得到了确切的版本),但无法真正弄清楚问题所在。我有千层面/theano 的前沿版本。我已经尝试过 Anaconda 和 WinPython 发行版。我已经尝试过使用 python 2.7 和 3.4 并且无法真正找到任何解决此问题的方法。只有密集/最大池化层的网络运行得很好。我将不胜感激任何可以帮助我解决此问题的建议。

错误信息:

使用以下命令行编译时出现问题:
g++.exe -shared -g -O3 -fno-math-errno -Wno-unused-label -Wno-unused-variable -Wno-write-strings -march=haswell -mmmx -mno-3dnow -msse -msse2 -msse3 - mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 - msse4.2 -msse4.1 -mlzcnt -mrtm -mhle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd - mno-avx512pf -mno-prefetchwt1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=haswell -D NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -DMS_WIN64 -IC:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\numpy\core\include -IC:\scisoft\WinPython-64bit-3.4.3.7\python -3.4.3.amd64\包括-IC:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3。amd64\lib\site-packages\theano\gof -o C:\Users\Michal\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-3.4.3-64\tmpgdh7ov2i\mf217e5b3a6b61b4ef70844368439fc:用户\Michal\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-3.4.3-64\tmpgdh7ov2i\mod.cpp -LC:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3 .amd64\libs -LC:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64 -lpython34\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\libs -LC:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64 -lpython34\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\libs -LC:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64 -lpython34
回溯(最近一次通话最后):

  文件“”,第 1 行,在
    net2.fit(X, y)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\nolearn\lasagne\base.py”,第 457 行,适合
    self.initialize()

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\nolearn\lasagne\base.py”,第 303 行,初始化
    self.y_tensor_type,

  _create_iter_funcs 中的文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\nolearn\lasagne\base.py”,第 435 行
    allow_input_downcast=真,

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\compile\function.py”,第 317 行,在函数中
    输出键=输出键)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\compile\pfunc.py”,第 526 行,在 pfunc
    输出键=输出键)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\compile\function_module.py”,第 1778 行,在 orig_function
    默认值)

  创建文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\compile\function_module.py”,第 1642 行
    input_storage=input_storage_lists, storage_map=storage_map)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\link.py”,第 690 行,在 make_thunk
    storage_map=storage_map)[:3]

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\vm.py”,第 1037 行,在 make_all
    no_recycling))

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\op.py”,第 932 行,在 make_thunk
    no_recycling)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\op.py”,第 850 行,在 make_c_thunk
    输出存储=节点输出存储)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\cc.py”,第 1207 行,在 make_thunk
    keep_lock=keep_lock)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\cc.py”,第 1152 行,在 __compile__
    keep_lock=keep_lock)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\cc.py”,第 1602 行,在 cthunk_factory
    key=key,lnk=self,keep_lock=keep_lock)

  文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\cmodule.py”,第 1174 行,在 module_from_key
    模块 = lnk.compile_cmodule(位置)

  compile_cmodule 中的文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\cc.py”,第 1513 行
    preargs=preargs)

  compile_str 中的文件“C:\scisoft\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\site-packages\theano\gof\cmodule.py”,第 2187 行
    (状态,compile_stderr.replace('\n', '.')))

9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-3.4.3-64\\tmpgdh7ov2i\\mod.cpp:958:16:警告:从 NULL [-Wconversion-null] 转换为非指针类型“int”\r。千瓦 = NULL;\r。^\r。C:\\Users\\Michal\\AppData\\Local\\Temp\\cc67su6o.o: 在函数 `corrMM(tagPyArrayObject*, tagPyArrayObject*, tagPyArrayObject*, int, int, int, int, int)':\河。C:/Users/Michal/AppData/Local/Theano/compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-3.4.3-64/tmpgdh7ov2i/mod.cpp:431:未定义对“dgemm_”的引用。C:/Users/Michal/AppData/Local/Theano/compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-3.4.3-64/tmpgdh7ov2i/mod.cpp:528:未定义对“dgemm_”的引用。C:/Users/Michal/AppData/Local/Theano/compiledir_Windows-8-6.2。9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-3.4.3-64/tmpgdh7ov2i/mod.cpp:483:未定义对“dgemm_”的引用。collect2.exe:错误:ld 返回 1 个退出状态\r。", '[CorrMM{valid, (1, 1)}(input.input, )]')
4

1 回答 1

2

我按照 IshanAntony 在本网站https://www.kaggle.com/c/otto-group-product-classification-challenge/forums/t/13973/a-few-tips-to提供的步骤设法解决了我的问题-install-theano-on-windows-64-bits/98833。显然 Theano 在正确链接 BLAS 时遇到问题,所以我下载并使用了 open-BLAS 并且错误消失了(下载和配置 OPEN-BLAS 所需的链接和步骤可以在 IshanAntony 的回答中找到)。

于 2016-01-06T22:37:08.890 回答