ubuntuでMATE 16.04ここでGPUを使用してディープラーニングpythonの例を実行しようとしています:
サンプルコードを実行しましたが、
THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py
しかし、GPUではなくCPUを使用しているようです。これが端末出力の最後の部分です。
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu0 is not available (error: cuda unavailable)
...
Used the cpu
私もこのコードを実行しようとしました:
THEANO_FLAGS=device=cuda0 python check1.py
しかし、出力は次のとおりです。
ERROR (theano.sandbox.gpuarray): pygpu was configured but could not be imported
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/gpuarray/__init__.py", line 20, in <module>
import pygpu
ImportError: No module named pygpu
...
used cpu
Aptからcudaツールキットをインストールしました。ここに(うまくいけば)有用なデータがあります:
python --version
Python 2.7.12
g++ -v
gcc version 5.4.0
nvcc --version
Cuda compilation tools, release 7.5, V7.5.17
lspci
NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2)
nvidia-smi
+------------------------------------------------------+
| NVIDIA-SMI 361.42 Driver Version: 361.42 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 750 Ti Off | 0000:01:00.0 On | N/A |
| 29% 35C P8 1W / 38W | 100MiB / 2044MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 2861 G /usr/lib/xorg/Xorg 90MiB |
+-----------------------------------------------------------------------------+
ついに解決しました!この投稿 buntu 16.04、Theano and Cuda
フラグを追加することを提案します
nvcc.flags=-D_FORCE_INLINES
コマンドラインに移動するため、コマンドラインは次のようになります。
THEANO_FLAGS=floatX=float32,device=gpu,nvcc.flags=-D_FORCE_INLINES python check1.py
Glibc2.23を使用する際のバグを修正しているようです
これで、プログラムはGPUを正しく使用します。これは、正しい出力です。
THEANO_FLAGS=floatX=float32,device=gpu,nvcc.flags=-D_FORCE_INLINES python check1.py
Using gpu device 0: GeForce GTX 750 Ti (CNMeM is disabled, cuDNN not available)
[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.317012 seconds
Result is [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761
1.62323296]
Used the gpu
このソリューションを試す前に、ここにある手順の一部に従って、nvidia-cuda-toolkitを削除し、NvidiaWebサイトからCUDAをインストールしたことに注意してください。
これはまさに私がしたことです:
1)ここからCUDAをダウンロードしました CUDA 7.5ダウンロード LINUX、x86_64、Ubuntu 15.04、deblocalを選択します
2)debファイルをインストールしました
dpkg -i cuda_repo-ubuntu1504-7-5-local_7.5-18_AMD64.deb
3)次に実行します
apt-get update
これはいくつかのエラーを与えます!次の行で\ var\cuda-repo-7.5-localのファイルReleaseを上書きする問題を修正しました。
Origin: NVIDIA
Label: NVIDIA CUDA
Architecture: repogenstagetemp
MD5Sum:
51483bc34577facd49f0fbc8c396aea0 75379 Packages
4ef963dfa4276be01db8e7bf7d8a4f12 21448 Packages.gz
SHA256:
532b1bb3b392b9083de4445dab2639b36865d7df1f610aeef8961a3c6f304d8a 75379 Packages
2e48cc13b6cc5856c9c6f628c6fe8088ef62ed664e9e0046fc72819269f7432c 21448 Packages.gz
(申し訳ありませんが、このソリューションをどこで読んだか覚えていません)。
4)私は首尾よく走ります
apt-get-update
apt-get install cuda
5)すべてが\ usr\local\cuda-7.5に組み込まれました
6)ファイル\ usr\local\cuda-7.5\include\Host-config.hの行n115にコメントしました
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9)
//#error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
#endif /* __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9) */
これはCUDAがgcc5.4を使用するのを妨げているようですこれらすべての操作の後、私は.theanorcファイルを更新し、cudaルートを追加しました
[cuda]
root = /usr/local/cuda-7.5
それで全部です :)
PS:nvidia-cuda-toolkitでも機能するかどうかはわかりません!
私のシステムでは、この問題はシステムを再起動するだけで解決されました。多分あなたはそれを試してみることができます。
次のように、cudaパスを〜/ .bashrcに追加することで、この問題を修正しました。
export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH