問題タブ [theano-cuda]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - OSX 上の GPU で theano を使用するには?
OS: OS X 10.11.4
GPU: GeForce GT 750M、CUDA7.5
言語: Python アナコンダ 2.7
Mac で CUDA をセットアップするために、theano の指示に従いました。
- PATH を設定: export PATH=/Developer/NVIDIA/CUDA-7.5/bin:$PATH
- LD_LIBRARY_PATH を設定: LD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:$LD_LIBRARY_PATH をエクスポート
- .theanorc ファイルを作成し、[cuda] セクションに CUDA_ROOT=/Developer/NVIDIA/CUDA-7.5 を追加します
コードを theano Web サイトからコピーし、test.py ファイルに貼り付けました。
しかし、この行を実行すると:
THEANO_FLAGS='floatX=float32,device=gpu0,nvcc.fastmath=True' python test.py
このエラーが発生しました:
nvcc fatal: The version ('70300') of the host compiler ('Apple clang') is not supported
警告は次のようになります。
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu0 is not available (error: cuda unavailable)
私のXcodeバージョン(バージョン7.3です)が原因ですか?この問題を解決するには?
python - CNMeM が有効になっているが、Theano で 'cuDNN が利用できない' の影響は何ですか?
Theano の例に基づいた次のコードがあります。
コードを 2 つのモードでテストすると、次のようになります。
GPU モード、私はこれを得ます:
CPUモード、私はこれを得ます:
2 つのことに注意してください。GPU は確かに CPU よりも高速です (0.47 秒対 5 秒)。しかし同時に、GPU で cuDNN が利用できないというメッセージが表示されます。
私の質問はこれです。cuDNN がないとどのような影響がありますか? 有害ですか?
python - Theano : CUDA のインストール
CUDA Toolkit V 7.0 をインストールしました。そのグラフィックス ドライバーのバージョンは 347.62 です。私のtheanoコードでは
これを使いました。次のエラーが表示されます。\n
gpu デバイス gpu の使用を強制しましたが、CUDA の初期化が次のエラーで失敗しました: 使用可能な gpu の数を取得できません: CUDA ドライバーのバージョンが CUDA ランタイム バージョンに対して不十分です。
私は何をすべきか?
ubuntu - Ubuntu 16.04 で GPU で Theano を使用するにはどうすればよいですか?
次のスクリプトを使用して、GPU が動作しているかどうかをテストします。
実行すると、次のようになります。
興味深い部分は最後にあります。
私のシステム
- Ubuntu 16.04 を使用しています。
- 標準リポジトリ ( ) から CUDA をインストールしました
V7.5.17
。nvcc --version
動作します。 - pip経由でTheanoをインストールしました
- CuDNN 4 を持っています (TensorFlow で動作します)
- 私は設定
CUDA_ROOT=/usr/bin/
しLD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
ました(それが正しいかどうかはわかりません)
私の~/.theanorc
は
パス
標準リポジトリからのインストールは、手動インストールとは異なる場合があると思います。いくつかの問題を明らかにする可能性のあるいくつかのパスを次に示します。
質問
どうすればそれを機能させることができますか?
environment-variables - nvcc コンパイラが見つからない - theano
ubuntu 14.04 と cuda 7.5 を使用しています。以下を使用して cuda のバージョン情報を取得し$ nvcc --version
ます。
$PATH と $LD_LIBRARY_PATH は次のとおりです。
theanoをインストールします。私はCPUで使用しますが、GPUでは使用しません。このガイドによると、
GPU で Theano をテストする¶ GPU が使用されているかどうかを確認するには、次のプログラムをコピーしてファイルに貼り付けて実行します。
このプログラム (check1.py 内) を device=cpu で実行すると、私のコンピューターでは 3 秒強かかりますが、GPU では 0.64 秒強かかります。GPU は、常に CPU とまったく同じ浮動小数点数を生成するとは限りません。ベンチマークとして、numpy.exp(x.get_value()) を呼び出すループには約 46 秒かかります。
$ theano_flags = mode = fast_run、device = cpu、floatx = float32 python check1.py [elemwise {exp、no_inplace}()]ループ1000回は3.06635117531秒かかりました。 CPU
$ THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py gpu デバイスを使用 0: GeForce GTX 580 [GpuElemwise{exp,no_inplace}(), HostFromGpu(GpuElemwise{exp,no_inplace}.0)] ループ 1000時間は 0.638810873032 秒かかりました。
sudo なしで gpu version コマンドを実行すると、パーミッション拒否エラーがスローされます。
sudo で使用すると、コンパイラは nvcc パスを見つけることができません。
このエラーを修正するにはどうすればよいですか?
neural-network - theano が FP32 のみを使用していることを確認するにはどうすればよいですか?
私の .theanorc ファイルで、パラメーターを設定しました...
ただし、theano バックエンドで keras を実行し、model.predict を呼び出すと、返される配列の numpy データ型は常に FP32 ではなく FP64 型になります。これが問題なのか、それとも keras / theano が GPU で実行する前に FP32 に変換するのかはわかりません。確認する方法はありますか。GPU上でFP64を使用しようとすると、theanoが投稿してエラーまたは警告を出すことができれば幸いです。