2015-12-29 19 views
6

に失敗した私はWindwos 8に- DLLの負荷が

をTheanoをインストールしようとしていますtheseの手順に従っています。

私が使用してテストしてみてください。

import numpy as np 
import time 
import theano 

print('blas.ldflags=', theano.config.blas.ldflags) 
A = np.random.rand(1000, 10000).astype(theano.config.floatX) 
B = np.random.rand(10000, 1000).astype(theano.config.floatX) 
np_start = time.time() 
AB = A.dot(B) 
np_end = time.time() 
X, Y = theano.tensor.matrices('XY') 
mf = theano.function([X, Y], X.dot(Y)) 
t_start = time.time() 
tAB = mf(A, B) 
t_end = time.time() 
print("NP time: %f[s], theano time: %f[s] (times should be close when run on CPU!)" % (
np_end - np_start, t_end - t_start)) 
print("Result difference: %f" % (np.abs(AB - tAB).max(),)) 

私はスクリプトがnumpyのとtheano計算時間との比較であることを承知しています。

しかし、どういうわけか、いくつかのDLLが見つかりません。次のログが見つかりました。

[Py341] C:\>python ML\Deep\TheanoSetupTesting.py 
blas.ldflags= -LE:\Things_Installed_Here\Theano\openblas -lopenblas 
Traceback (most recent call last): 
    File "ML\Deep\TheanoSetupTesting.py", line 12, in <module> 
    mf = theano.function([X, Y], X.dot(Y)) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\compile\function.py", line 317, in function 
    output_keys=output_keys) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\compile\pfunc.py", line 526, in pfunc 
    output_keys=output_keys) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\compile\function_module.py", line 1778, in orig_function 

    defaults) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\compile\function_module.py", line 1642, in create input_storage=input_storage_lists, storage_map=storage_map) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\link.py", line 690, in make_thunk 
    storage_map=storage_map)[:3] 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\vm.py", line 1037, in make_all 
    no_recycling)) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\op.py", line 932, in make_thunk 
    no_recycling) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\op.py", line 850, in make_c_thunk 
    output_storage=node_output_storage) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\cc.py", line 1207, in make_thunk 
    keep_lock=keep_lock) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\cc.py", line 1152, in __compile__ 
    keep_lock=keep_lock) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\cc.py", line 1602, in cthunk_factory 
    key=key, lnk=self, keep_lock=keep_lock) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\cmodule.py", line 1174, in module_from_key module = lnk.compile_cmodule(location) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\cc.py", line 1513, in compile_cmodule 
    preargs=preargs) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\cmodule.py", line 2196, in compile_str 
    return dlimport(lib_filename) 
    File "E:\Things_Installed_Here\Anaconda_Py\envs\Py341\lib\site-packages\theano-0.7.0-py3.4.egg\theano\gof\cmodule.py", line 331, in dlimport 
    rval = __import__(module_name, {}, {}, [module_name]) 
ImportError: DLL load failed: The specified module could not be found. 

Dllが見つかりませんでした。私はそれが不足している場合にインストールし、システムパス変数をパスに追加します。しかし、どうすればそれがどのDLLであるかを知ることができます。私はpdbを使用し、さまざまな場所でcmodule.pyにブレークポイントを設定しようとしましたが、どれもヒットしません。

  1. この種のエラーとその解決方法に精通していますか?
  2. それ以外の場合は、そのDLL名が見つからない場合は手伝ってください。
  3. theanoのインストールでは全く違ったパスを歩いても構いません。私はマイクロソフトのコンパイラがうまく動作することを示唆するいくつかの記事に出くわした。しかし、私はすでに過去14時間をかけて問題に遭っており、働く方法が必要になります。最終的に私のシステムにtheanoが必要です。

ところで、CUDAはありません。私はCPU上で試しています。インストールした後、Iヘクタール、.theanorc [.txtファイル]ファイルで

+1

こんにちは。ここでも同じ問題があります。本当に、Windows 64bit上のtheanoは大惨事です。 1つの問題が次の問題を捜し、あなたの議題がLinuxを使用/許可しない場合、どの選択肢がありますか? – gilgamash

答えて

3

OK、私は最終的に、少なくとも私のインストールのためにWinPython、python3.5.1.1、勝利7 64ビットとにMinGW64を使用して理由を見つけましたblas、openblasを含む行を含むセクション[blas]はパスを含む。私はその行を削除し、[blas]の下の領域を空白のままにしました。再起動されたWinPython/Spiderは、新しいコンソールを開いて動作しました。

その後、Theanoを使用してLasagneからmnist.pyを実行してTestetします。

+1

私はこれをやったが、それは私のために働かなかった。私はそれに降伏し、Linuxに移った - 物事は急速に猛烈である:P。私はあなたの努力に感謝します。 – Adorn

5

これは少し遅れている可能性があります。私はあなたとまったく同じガイドをたどり、同じエラーに遭遇しました。

システムパスにopenblasディレクトリを追加することで修正できることが分かりました。あなたの例では、 "E:\ Things_Installed_Here \ Theano \ openblas"をシステムパス変数に追加します。

DLLファイルの格納場所によっては、「E:\ Things_Installed_Here \ Theano \ openblas」または「E:\ Things_Installed_Here \ Theano \ openblas \ bin」のいずれかを追加する必要があります。

Windows 10 64ビット、Python 3.5.1(Anaconda 2.5)、Theano 0.8.2。

私はこの3つのガイドguide1guide2とガイド付きOPのおかげで、Windows 10にTheanoをインストールすることができます。

+0

残念ながら、私はそれをテストすることはできません。私は 'linux'の世界を楽しんでいます。この作品の人々のために、ある時間のコメントにコメントを追加してください。これが実際の解決策になるかもしれません – Adorn

1

私はtheanoが同様のWindows 10のx64上で動作するようになって苦労し、そしていくつかのヘルプガイドを読んだ後、どのような最終的に私のために働いたことは次のようであった。

  1. Python用のIntelのディストリビューションをインストールします(作ります必ずC:\ intelpython27 \とC:\ intelpython27 \スクリプトがPATHにある)
  2. を開き、コマンドラインとします:conda install mingw libpython
  3. その後の操作を行います。pip install theano
  4. は(http://sourceforge.net/projects/openblas/files/v0.2.14/からコンパイル済みのlibopenblas.dllをダウンロード私はhttp://sourceforge.net/projects/openblas/files/v0.2.14/mingw64_dll.zip/download
  5. からOpenBLAS-v0.2.14-Win64-int32.zip)
  6. ダウンロードmingw64_dll.zip同様にCにOpenBLAS-v0.2.14-Win64-int32.zip抽出してしまった例:
  7. 用\ openblasを、 Cへ
  8. エキスmingw64_dll.zip:\
  9. \ binには、Cを追加openblas:\ openblas \ libとC:\ openblas PATHへのbin \
  10. は、cに.theanorc.txt作成:ユーザー\ \ {ユーザー名}
  11. anorc.txtに次の文字を入力してください。

    [global] 
    floatX = float32 
    device = cpu 
    
    [blas] 
    ldflags = -LC:\\openblas\\bin -LC:\\openblas\\lib -lopenblas 
    

これは誰かを助けることを望みます。

1

Win10 64bitとtheano(とkeras)で私の経験を追加するだけです。私はDLLの読み込みに失敗するエラーも出てきていました。私がtheanoで見つけたすべてのものがWebページをインストールし、別のフォーラムやブログの投稿(Uladiumの記事ではここで言及されています)で試してみました。

それは私のために働くが、ここで働いていた何ではありませんでした。

  1. 私はregeditを使用、TDM-GCC-64とopenblasをインストールし、私はと/ libに(PATHに自分の/ binディレクトリを追加しました同様openblasのディレクトリ)

  2. miniconda3下

    製クリーンvenv - theanoとkeras(scipyのダウンロード、numpyの、PyYAMLと)のためのインストールの前提条件、パイソン3.5.2

  3. conda install mingw libpython

  4. conda install theanoは、この時点で

  5. を(だけでなく、すべてのmingwのライブラリをインストールします) - それはを働いた - ので、私は、Windowsの環境変数をいじる、任意の.theanorc.txtファイル構成を使用していないdidntの。それはkerasベースのpythonスクリプトでも働いていましたが、ケラを私のconda venvにインストールしていませんでしたが(kerasは私の "普通の" non-conda python3にインストールしました。私のconda venvも同様です)。

0

かなり遅れていますが、後で参考にしてください。私はCPU上でOpenBLASテストスクリプトを実行しようとしているこのスレッドを見つけました。 GPUで正常に動作しましたが、CPUはOPと同じエラーを表示します。私はここで提案を試みたが、うまくいかなかった。ラインが入っていることが分かります。theanorc:

ldflags=-LE:\OpenBLAS-v0.2.14-Win64-int32/bin -lopenblas 

は、binの後と-lの前にスペースを入れてはいけません。したがって、それは次のようになります。

ldflags=-LE:\OpenBLAS-v0.2.14-Win64-int32/bin-lopenblas 

すべてが機能します。試してみてください:

Windows 10 
Python 3.5 
Theano 0.9 
Cuda 8 (with CudaMEM and CudaDNN) 
Visual Studio 2015 Community