2017-10-05 3 views
1

今日、私はRTFMのtensorflowドットORGは、Linuxをインストール使用してtensorflowインストール、 私はvirtualenvの+のpython3をインストール+ CPUとテストされたテンソルフローHello World、うまくいきました。- のNvidia GPUとVIRTUALENVのtensorflow:CUDA-9.0-VS-CUDA-8.0、cuDNN-7.0-VS-cuDNN-6.0

次に、VirtualEnv + Python + GPUをインストールするためにnvidiaパス(GPU GTX 970)に進みました。 RTFM(docs dot nvidia dot com cuda cuda-installation-guide-linuxインデックスドットhtml)、cuda-9.0、cuDDN 7、すべてのPATHは大丈夫、.bashrc最新、printenv LD_LIBRARY_PATH okです。

私のGPUは、cudaスクリプトのdeviceQueryとbandwitdhTestでOKでした。 Nvidiaのチェックリストからのインストール後のアクションはすべてパスしました。

VirtualEnv + Python3 + GPUでHello Worldを実行すると、以下のコードが表示されます(cliffnote:tensorflowは9.0ディレクトリである/usr/local/cuda-9.0/lib64からいくつかのcudalibrary-8.0を使用します)私はシンボリックリンクを追加しようとしましたが、8.0へのcudalibrary-8.0は9.0に達しましたが、別のcudalライブラリで同じメッセージが表示されます...すべてのcudaライブラリのこのトリックは、私が修正と呼ぶものではありません;-))

関連性の高い洞察をいただきありがとうございます。

[email protected]:~/Documents/Ordinateur/VirtualEnv$ source tensorflow_py3_gpu/bin/activate 
(tensorflow_py3_gpu) [email protected]:~/Documents/Ordinateur/VirtualEnv$ python 
Python 3.5.2 (default, Sep 14 2017, 22:51:06) [GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information. 

>>> # Python 
... import tensorflow as tf 
Traceback (most recent call last): 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module> 
    from tensorflow.python.pywrap_tensorflow_internal import * 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module> 
    _pywrap_tensorflow_internal = swig_import_helper() 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper 
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description) 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/imp.py", line 242, in load_module 
    return load_dynamic(name, filename, file) 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/imp.py", line 342, in load_dynamic 
    return _load(spec) 
ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory 

上記の最後の行は、cudalibrary-9.0のリストにはないcudalibrary-8.0に関するものです。以下は残りの部分です。

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "<stdin>", line 2, in <module> 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/__init__.py", line 24, in <module> 
    from tensorflow.python import * 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/python/__init__.py", line 49, in <module> 
    from tensorflow.python import pywrap_tensorflow 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module> 
    raise ImportError(msg) 
ImportError: Traceback (most recent call last): 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module> 
    from tensorflow.python.pywrap_tensorflow_internal import * 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module> 
    _pywrap_tensorflow_internal = swig_import_helper() 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper 
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description) 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/imp.py", line 242, in load_module 
    return load_dynamic(name, filename, file) 
    File "/home/alexandre/Documents/Ordinateur/VirtualEnv/tensorflow_py3_gpu/lib/python3.5/imp.py", line 342, in load_dynamic 
    return _load(spec) 
ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory 

Failed to load the native TensorFlow runtime. 

See https tensorflow dot org slash install slash install_sources hashtag common_installation_problems for some common reasons and solutions. Include the entire stack trace above this error message when asking for help. 
>>> hello = tf.constant('Hello, TensorFlow!') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'tf' is not defined 
>>> sess = tf.Session() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'tf' is not defined 
>>> print(sess.run(hello)) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'sess' is not defined 
>>> quit() 
(tensorflow_py3_gpu) [email protected]:~/Documents/Ordinateur/VirtualEnv$ deactivate` 

- 次の日更新

それほどきれい修正:にリンクされている間違った番号のバージョンとすべてのライブラリのためには/ usr/local/CUDA/lib64に/にリンクを作成します。正しい番号のバージョン。

[email protected]:/usr/local/cuda/lib64$ sudo ln -s libcurand.so.9.0 libcurand.so.8.0 

私は5つのCUDAライブラリ(libcusolver、libcublas、libcudart、libcurand、libcufft)とし、cuDNNライブラリlibcudnn(バージョン6 - >バージョン7)でこれをやりました。

こんにちは! tensorflowはうまくいきました...しかし、もし私がcuda-9.0とcuDDN-7.0をインストールしただけで、tensorflowがなぜcuda-8.0とcuDDN-6.0ライブラリを呼び出すのか教えていただけたら、大歓迎です。

[解決しよう...またはほぼ] を更新私はほとんどそれをすべて説明することhttps://github.com/tensorflow/tensorflow/issues/12052を発見しました。

Cliffnote: tensorflow-1.3は、cuda-8.0とcuDNN-6.0を使用しています(テンソルフローを実行すると、これらのライブラリが明示的にリンクされる理由です)。私はテンダーフロー1.3で実装されていないcuda-9.0とcuDNN-7.0のバージョンをダウンロードしたnvidiaサイトでは騙されました。

tensorflow-1.4は、cuda-9.0とcuDNN-7.0のバージョンで動作します。 tensorflow-1-4は、2017年10月に利用可能になるかもしれません(または、すぐに、上記のリンクをチェックしてください)。

+0

私は何か気づいた。 https://www.tensorflow.org/install/install_linuxには、テンソルフローを実行するためにcuda-8.0とcuDNN-6.0が必要であると記載されています。しかし、この手順をnvidiaサイトに従えば、自動的にcuda-9.0とcuDNN-7.0が得られます。 私の次のオプションは: - アンインストールして、cuda-8.0とcuDNN-6.0に戻す必要がありますか? - 私はGPU(SSE4.1、SSE4.2、AVX、AVX2、FMA)のいくつかの機能をコンパイルするために、これを無視して、私の場合はテンソルフローをソースから再インストールする必要がありますか? – Taamer

答えて

1

試しました sudo apt install cuda-8-0 ? パッケージをダウンロードする必要がありますhttp://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604

cudnn6をインストールするのと同様に(私はcudnn7をインストールしたのと同じ方法で)、私のために働きました。

+2

[SOLVED]日+2更新: - 私はcuda-8.0とcuDNN-6.0をインストールしました。 - バージョンの不一致からバイパスを削除しました。 - 私はpython2 + tensorflow-gpu(v1.3、cuda-8、cuDNN-6)と1つ、python3 + tensorflow-gpu(v1.3、cuda-8、cuDNN-6)で2つのvirtualenvをリセットします。どちらもうまくいっていて稼働しています。 次に、AVX、AVX2、SSE4.1、SSE4.2、FMAを使ってtensorflow-gpu 1.3のコンパイルを行いました。私はhttps://github.com/mind/wheelsで私のニーズに合った既製のコンパイル版を見つけました。 ご協力いただきありがとうございます。 – Taamer

関連する問題