Tensorflow: ImportError:libcublas.so.9.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません

作成日 2017年12月23日  ·  136コメント  ·  ソース: tensorflow/tensorflow

tf-nightlyビルドをインストールしましたが、テンソルフローのインポートで次のエラーが発生します。
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

cuda 9をチェックすると、次のようになります。

ldconfig -v
/usr/local/cuda-8.0/targets/x86_64-linux/lib:
    libnvgraph.so.8.0 -> libnvgraph.so.8.0.61
    libnppicom.so.8.0 -> libnppicom.so.8.0.61
    libnppial.so.8.0 -> libnppial.so.8.0.61
    libcufftw.so.8.0 -> libcufftw.so.8.0.61
    libcufft.so.8.0 -> libcufft.so.8.0.61
    libnppif.so.8.0 -> libnppif.so.8.0.61
    libcublas.so.8.0 -> libcublas.so.8.0.88
    libnvblas.so.8.0 -> libnvblas.so.8.0.88
    libnppi.so.8.0 -> libnppi.so.8.0.61
    libcusolver.so.8.0 -> libcusolver.so.8.0.61
    libnppidei.so.8.0 -> libnppidei.so.8.0.61
    libnvrtc-builtins.so.8.0 -> libnvrtc-builtins.so.8.0.61
    libnvrtc.so.8.0 -> libnvrtc.so.8.0.61
    libnpps.so.8.0 -> libnpps.so.8.0.61
    libcuinj64.so.8.0 -> libcuinj64.so.8.0.61
    libnppig.so.8.0 -> libnppig.so.8.0.61
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppicc.so.8.0 -> libnppicc.so.8.0.61
    libnppist.so.8.0 -> libnppist.so.8.0.61
    libnppisu.so.8.0 -> libnppisu.so.8.0.61
    libnppim.so.8.0 -> libnppim.so.8.0.61
    libcurand.so.8.0 -> libcurand.so.8.0.61
    libcudart.so.8.0 -> libcudart.so.8.0.61
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnppitc.so.8.0 -> libnppitc.so.8.0.61
    libnppc.so.8.0 -> libnppc.so.8.0.61
    libcusparse.so.8.0 -> libcusparse.so.8.0.61
/usr/local/cuda-9.1/targets/x86_64-linux/lib:
    libnppicc.so.9.1 -> libnppicc.so.9.1.85
    libnppisu.so.9.1 -> libnppisu.so.9.1.85
    libcufftw.so.9.1 -> libcufftw.so.9.1.85
    libcufft.so.9.1 -> libcufft.so.9.1.85
    libnppial.so.9.1 -> libnppial.so.9.1.85
    libnppist.so.9.1 -> libnppist.so.9.1.85
    libcublas.so.9.1 -> libcublas.so.9.1.85
    libnvblas.so.9.1 -> libnvblas.so.9.1.85
    libnppitc.so.9.1 -> libnppitc.so.9.1.85
    libcusolver.so.9.1 -> libcusolver.so.9.1.85
    libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
    libnvrtc-builtins.so.9.1 -> libnvrtc-builtins.so.9.1.85
    libnppidei.so.9.1 -> libnppidei.so.9.1.85
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppig.so.9.1 -> libnppig.so.9.1.85
    libnppc.so.9.1 -> libnppc.so.9.1.85
    libcudart.so.9.1 -> libcudart.so.9.1.85
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnvgraph.so.9.1 -> libnvgraph.so.9.1.85
    libnppif.so.9.1 -> libnppif.so.9.1.85
    libcusparse.so.9.1 -> libcusparse.so.9.1.85
    libaccinj64.so.9.1 -> libaccinj64.so.9.1.85
    libcuinj64.so.9.1 -> libcuinj64.so.9.1.85
    libnppim.so.9.1 -> libnppim.so.9.1.85
    libnppicom.so.9.1 -> libnppicom.so.9.1.85
    libnpps.so.9.1 -> libnpps.so.9.1.85
    libcurand.so.9.1 -> libcurand.so.9.1.85

名前の不一致が原因です。 libcublas.so.9.0 =! libcublas.so.9.1 ? もしそうなら、どうすればこれを克服できますか?

最も参考になるコメント

あなたはそれを解決しましたか? この問題は、tensorflow-gpu-1.5に必要なcuda 9.0が原因で発生するため、tensorflow-gpu-1.4をインストールする必要があります。 そして、remberはtensorflow-gpu-1.5をアンインストールします。 この「pipinstall--upgrade tensorflow-gpu == 1.4」を使用してください

全てのコメント136件

これは、9.0ではなくCUDA 9.1を使用しているためだと思いますが、まったく同じ問題に直面しています。

@Timonzimm私は知っています、そして私は全体の問題はnvidiaが置くこのf **命名libcublas.so.xxxであると思います。 これは本質的に、その数が変わるたびにLinuxシステムで不一致になるため、完全に一致するものが見つからないため、ファイルが存在しないと見なしてエラーをスローします。

'' cuda / ''から '' cuda / 9.1 "へのシンボルリンクを使用する必要があると思います。そうでない場合、cudaバージョンがテンソルフローマスターブランチには新しすぎます

@ burui11087シンボリックリンクをすっかり忘れてしまいました。 思い出させてくれてありがとう。

これは解決されたようです(そして根本的な原因はCUDAのバージョンの不一致でした-9.0対9.1)?
解決することは理解しているので締めくくりますが、間違えた場合はお知らせください。

参考までに@ gunan @ av8ramit (次の1.5リリースに取り組んでいます)

また、kirk86でもまったく同じ問題が発生します。 私の場合、cuda toolkit8.0とcudnn5.1をインストールしました。
それから私はあなたたちが上で言ったことをしました、それらのすべては機能しません。

ナイトリーを使用するには、CUDA9.0とcudnn7がインストールされている必要があります。
CUDAとcudnnインストールTFの現在のバージョンと@yangfengKAUSTはそれはそれは期待しているバージョンを見つけることができないことを不平を言っています。

@Timonzimm私は同じ問題に直面しています。 あなたはそれを理解しましたか?

8.0、9.0、9.1がインストールされており、それぞれに固有のcudnnバージョンがあります。 symリンクは9.1ライブラリからは機能しませんでした。 / usr / local / cudaリンクでバージョンを切り替えても、LD_LIBRARY_PATHのシンボリックリンクが機能しないことがあると思います。 Eclipse内のパスを処理するためのよりクリーンな方法がわかるまで、ライブラリをJavaプログラムにロードするためのローテクな方法を実行することになりました。

    try {
        System.load("/usr/local/cuda/lib64/libcublas.so.9.0");
        System.load("/usr/local/cuda/lib64/libcusolver.so.9.0");
        System.load("/usr/local/cuda/lib64/libcudart.so.9.0");
        System.load("/usr/local/cuda/lib64/libcufft.so.9.0");
        System.load("/usr/local/cuda/lib64/libcurand.so.9.0");

        System.load("/home/greg/Desktop/platform/tensorbuilder/jni/libtensorflow_jni.so");
      } catch (UnsatisfiedLinkError e) {
          System.err.println("Native code library failed to load.\n" + e);
          System.exit(1);
      }

@asimshankar上記のコメントで、cudaを9.0にダウングレードする必要があり、tensorflow1.5がcuda9.1で機能しないことを意味していることを知りたいですか?

あなたはこの問題を解決しましたが、私たちが取るべき正しい行動が何であるかは明確ではありません!

注:cuda9.0の代わりにcuda9.1もインストールしています。

参考までに、両方をインストールしました。 ゼロからのビルドはどちらでも機能しますが、夜間のバイナリは9.0を使用します。

@ AwasthiMaddy-はいTensorFlow1.5リリースバイナリはCUDA9用に構築されています。

あなたはそれを解決しましたか? この問題は、tensorflow-gpu-1.5に必要なcuda 9.0が原因で発生するため、tensorflow-gpu-1.4をインストールする必要があります。 そして、remberはtensorflow-gpu-1.5をアンインストールします。 この「pipinstall--upgrade tensorflow-gpu == 1.4」を使用してください

@ aipeteryao-ありがとう。

これが当てはまる場合、誰かがhttps://www.tensorflow.org/install/install_linuxページを修正する必要があります。私はその指示に正確に従い、CUDA 8.0(具体的には「最新のCUDA」ではない)をインストールするように指示します。

その後、完了するとすぐにこのエラーが発生します(CUDA 9.1がNVIDIAから取得するデフォルトであるため、ここで読むことができるものからは、cublas 9.0も機能しませんでした)。

Webページの手順は、デフォルトの最新のもので機能するか、tensorflow-gpuではなくtensorflow-gpu-1.4(たとえば)をインストールするように明示的に指示する必要があります。

bwesonsのコメントを2番目に。 CUDA8.0とTensorflow1.3を使用しています。 TF 1.5(GPU、ubuntu、virtualenv)の現在のインストール手順に従いましたが、上記のように壊れます。 これが解決されるまで、TF1.3に戻します。

@aipeteryaoこれで修正されました、ありがとう! 最終的に、virtualenvに最新バージョンをアンインストールして1.4をインストールしました。

pip3 uninstall tensorflow-gpu
pip3 install --upgrade tensorflow-gpu==1.4

Ubuntuのインストールページを更新する必要があります: https
TensorFlow1.5はCuda9.0(9.1ではない)とcuDNN7を期待しているため

実際、テンソルフローの公式ドキュメントを表示する必要があります。これにより、テンソルフローの環境が提供されます(python、gcc、cuda、cudnnなどが含まれます)。

@bwesenはい、あなたは正しかったです。私のコンピュータはCUDA 8.0、cudnn 6.0、tensorflow1.4をインストールしました。

この問題はまだ開いているはずだと思います。 @bwesenコメントは正しいです。 ドキュメントには、Cuda 8.0をインストールし、 pip install --upgrade tensorflow-gpuを使用するように指示されています。 今のところ、Cuda8.0では動作しないテンソルフロー1.5が得られます

@asimshankarにpingを

同じ問題があります(cuda 9.1 + tensorflow 1.5の場合)。 私はそれを解決すると思います、1つのオプションはcudaを9.0にダウングレードすることです。 もう1つのオプションは、cudaを8.0にダウングレードし、tensorflowを1.4にダウングレードすることです。 すでにcuda8.0をインストールしている場合は、 LD_LIBRARY_PATH (およびCUDA_HOME )環境変数を変更してcuda 8.0ディレクトリ(つまり/usr/local/cuda-8.0 )を指すようにするだけです。

この問題が発生しています(Cuda 9.1.85、cuDNN 7.05)

tensorflow 1.5で試してみたところ、壊れました。 アンインストールされ、 pip3 install --upgrade tensorflow-gpu==1.4で1.4がインストールされましたが、まだ壊れています。

@DylanDmitri 1.5は、9.1ではなく

Cuda 9.0ドライバーを試しましたか?

@DylanDmitri @mkaze Cuda9.0が必要です。

また、要件のインストールに問題がある場合は、cuDNNのインストールを再確認することをお勧めします。 .debファイルは、ファイルを適切な場所にコピーしなかったため、機能しませんでした。 インストールを機能させるには、.tgzファイルを使用し、nVidiaの指示に従ってファイルを手動でコピーする必要がありました。

なぜcuda-9-0をインストールしないのですか?

  • ここに移動します: https
  • 次に、私にとって:deb(ネットワーク)をダウンロードする
sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys \
     http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

なぜcuda-9-0をインストールしないのですか?

@abrahamrhoffman sudo特権を持っている人なら誰でも簡単ですが、単純なユーザー特権を持つクラスター環境のような共有システム上の人々はどうでしょうか。 そのような場合、システム管理者からライブラリのインストールを依頼したとしても、おそらく答えはNOになるでしょう。 他のユーザーの設定や環境に干渉する恐れがあるためです。

@abrahamrhoffman反対票を正当化することもできますか?

cuda-9.0をインストールしましたが、それでも動作しません。 これは本当に苛立たしいです。

https://stackoverflow.com/questions/39287744/ubuntu-16-04-nvidia-toolkit-8-0-rc-darknet-compilation-error-expectedのように、PATH変数を適切に設定してください

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

cuda9.1が現在のバージョンです。 TFに使ってもらいたい。 方法?

tf-nightly-gpuでさえcuda9.1を探していません。 ああ

すべての9.0ファイル名からすべての9.1ファイル名へのシンボリックリンクを試しましたが、機能しませんでした。 結局、TFは本当のバージョンを知っています。 リポジトリにはもう9.0がないので、9.1を削除してから手動で9.0をインストールすると、nvidiaのものが壊れてしまうのではないかと心配しています。

私は今のところ彼を修正します:

deb(ネットワーク)をhttps://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetworkからダウンロードし

次に: dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

次に:aptitudeの更新

次に:aptitude install cuda-9-0

最初にtensorflow1.5をインストールしましたが、壊れてしまい、次のエラーが発生します。
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
次に、アンインストールし、pip install --upgrade tensorflow-gpu == 1.4を使用して1.4をインストールしましたが、機能しませんでした。次のエラーが発生します。
ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory

@xiezhongzhaoどのバージョンのCUDA_HOMELD_LIBRARY_PATH

@mkaze私は

@xiezhongzhao Cuda 9.0をインストールすれば、問題ないはずです。 Tensorflow1.5はCuda9.1では機能しません。

@mkazeありがとうございます

私もこの問題を抱えており、解決に苦労しています。

$ pip3 install tensorflow-gpu
$ python3
>>> import tensorflow
Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/ubuntu/.local/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 "/usr/lib/python3.5/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

これらの手順に従ってインストールしました
https://www.tensorflow.org/install/install_linux#nvidia_requirements_to_run_tensorflow_with_gpu_support

私はnvidiaから正しいバージョンをインストールしたと思います。 ファイル名は
cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
およびcudnn-9.0-linux-x64-v7.tgz (バージョン7.0.5)

私はテンソルフロードキュメントのそれらの指示に従ってパスを設定し、 abrahamrhoffmanが上記で与えた指示も試しました。

ldconfig -vを実行すると、9.0のライブラリがいくつか取得されますが、libcublas.so.9.0が表示されません。

/usr/local/cuda-9.0/targets/x86_64-linux/lib:
    libaccinj64.so.9.0 -> libaccinj64.so.9.0.176
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libcuinj64.so.9.0 -> libcuinj64.so.9.0.176
    libcudart.so.9.0 -> libcudart.so.9.0.176
/usr/local/cuda-9.1/targets/x86_64-linux/lib:
    libnppif.so.9.1 -> libnppif.so.9.1.85
    libcusparse.so.9.1 -> libcusparse.so.9.1.85
    libcusolver.so.9.1 -> libcusolver.so.9.1.85
    libnpps.so.9.1 -> libnpps.so.9.1.85
    libnppial.so.9.1 -> libnppial.so.9.1.85
    libnvgraph.so.9.1 -> libnvgraph.so.9.1.85
    libcuinj64.so.9.1 -> libcuinj64.so.9.1.85
    libaccinj64.so.9.1 -> libaccinj64.so.9.1.85
    libnppicc.so.9.1 -> libnppicc.so.9.1.85
    libcudart.so.9.1 -> libcudart.so.9.1.85
    libnppc.so.9.1 -> libnppc.so.9.1.85
    libnppicom.so.9.1 -> libnppicom.so.9.1.85
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppig.so.9.1 -> libnppig.so.9.1.85
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnppidei.so.9.1 -> libnppidei.so.9.1.85
    libcurand.so.9.1 -> libcurand.so.9.1.85
    libnvblas.so.9.1 -> libnvblas.so.9.1.128
    libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
    libnppitc.so.9.1 -> libnppitc.so.9.1.85
    libnppist.so.9.1 -> libnppist.so.9.1.85
    libcublas.so.9.1 -> libcublas.so.9.1.128
    libnppim.so.9.1 -> libnppim.so.9.1.85
/sbin/ldconfig.real: /usr/local/cuda-9.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link

    libcudnn.so.7 -> libcudnn.so.7.0.5
    libcufftw.so.9.1 -> libcufftw.so.9.1.85
    libcufft.so.9.1 -> libcufft.so.9.1.85
    libnppisu.so.9.1 -> libnppisu.so.9.1.85
    libnvrtc-builtins.so.9.1 -> libnvrtc-builtins.so.9.1.85

少なくとも意図的にではなく、9.1をインストールしませんでした。 これは、ストックubuntu16.04のAmazonec2インスタンスにあります。
nvidia-smiもgpuを返します。これはg3.4xlargeインスタンスです。

どんなガイダンスでも大歓迎です。

CUDNNガイドによると:

http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

解凍したファイルを( $ tar -xzvf cudnn-9.0-linux-x64-v7.tgzなどを実行したディレクトリから) /usr/local/cudaサブディレクトリにコピーする必要があります。

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
/usr/local/cuda/lib64/libcudnn*

@ entropy43の返信ありがとうございます。

もっと具体的にすべきだった。 私はそれらの2やっcpchmodの後にコマンドをtarls cuda/lib64ようなtarコマンドを実行した場所をcudaフォルダーで探すと、次のように表示されます。
libcudnn.so libcudnn.so.7 libcudnn.so.7.0.5 libcudnn_static.a

私はnvidiaドキュメントからこのセクションも試しました
2.3.2. Installing from a Debian File

テストはここ2.4. Verifying合格します

そのlibを取得するためのアドバイスは大歓迎です

誰かがこれが現在どこにあるかを要約していただけますか? TF1.3 + cuda8を問題なく使用しています。 アップグレードしたいのですが、新しいバージョンのインストールプロセスが完全に壊れているようです。 アドバイス?

yazabazraが上記で求めているものと同様です。
TF1.6 Ubuntu 16.04
nvcc -V
nvcc:NVIDIA(R)Cudaコンパイラドライバー
Copyright(c)2005-2017 NVIDIA Corporation
Fri_Nov__3_21:07:56_CDT_2017に基づいて構築
Cudaコンパイルツール、リリース9.1、V9.1.85
これは、Nvidiaディスプレイドライバー390+を必要としました
確認することが重要: https

それに加えて、かなりの手間をかけた後、TFドキュメントが以前のリリースにバグがあったことを示したので、Nvidiaを最新のリリースに更新しました。上記を参照してください。

今、私は:を取得しています
ImportError:libcublas.so.9.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません
ネイティブTensorFlowランタイムの読み込みに失敗しました。

これは、9.0(TFウォンツ)と最新のNvidiaである9.1の不一致のようです。
9.1で実行する方が良いように思われますが、ソースからTFを構築することは避けたいので、とにかく修正されない可能性があります。

このコンボをバイナリパッケージで動作させることはできますか?
TF 1.6 Cuda 9.1 ??

ここを見ている人へのさらなる注意と注意..私のNvidiaのものをアップグレードした後、別のconda envの古いバージョンのTFは、古いTFが望んでいるように機能しなくなりました:ImportError:libcublas.so.8.0:共有オブジェクトファイルを開くことができません:そのようなファイルはありませんまたはディレクトリ
だから9.1はそれをカットしません..より大きいを指定するのはどうですか?? 対特定のバージョン? ただの提案..その間、私は水中で死んでいます..

そして、これが9.1をサポートするバイナリの可用性が良い理由です:( TF1.6リリースノートから)

XLA:GPUをCUDA9および
CUDA_ILLEGAL_ADDRESSの失敗。

Googleは、2017年12月中旬に、CUDA9のPTXからSASSへのコンパイラーを発見しました。
CUDA 9.1は、次の場合にキャリービットを正しく計算しないことがあります。
大きなオフセット(たとえば、load [x + large_constant])を使用した64ビットアドレス計算をSASSの32ビット演算に分解します。

その結果、これらのバージョンのptxasは、を使用するほとんどのXLAプログラムを誤ってコンパイルします。
4GBを超える一時メモリ。 これにより、ガベージ結果および/または
CUDA_ERROR_ILLEGAL_ADDRESSの失敗。

CUDA 9.1.121の修正は、2018年2月下旬に予定されています。
CUDA9.0.xの修正。 修正が利用可能になるまで、唯一の回避策は
CUDA8.0.xにダウングレード
またはXLA:GPUを無効にし

たぶん、ナイトリーの1つはそれをしますか?

別の解決策? TFは特定のリビジョンを検索しているように見えるので、Cudaの複数のリビジョンをインストールできますか? もしそうなら、方法について何かアドバイスはありますか?

理想的には、あるコンダ環境でTF 1.4(現在Cuda 8.0が必要)を実行し、別の環境でTF 1.6(現在Cuda 9.0が必要)を実行できるでしょうか?

sudo apt-get -y install cuda-toolkit-9.0を追加したところ、TF1.6で稼働しています。

@dartdog cuda-toolkit-9.0をインストールした後、 ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory問題に直面しましたか?

@dartdog

sudo apt-get install cuda-7-0
vim ~/.bashrc
export PATH=/usr/local/cuda-7.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda7.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

@bwesenが言ったように、これは間違いなくテンソルフローのドキュメントに含まれているはずです。 エラーリストにも含める必要があります。 とにかくこれを行うことは可能ですか? 新しい問題を開いて、cuda 9.1のサポートを追加するか、ドキュメントにcuda 9.0が必要であると述べ、これをエラーリストに含めるように要求すると思います。

はい、みんな。 https://github.com/tensorflow/tensorflow/issues/17629で新しい問題を開きました

私もこの問題に取り組んでいました。 tensorflow-gpu 1.6でうまくいったこと:

  • ツールキットをアーカイブから9.0としてダウンロードしましたが、9.1としてインストールされました(理由はわかりません...)
  • まだlibcublas.so.9.0が見つかりません
  • インストール手順の最後に示されているように、 sudo apt-get install cuda-libraries-9-0を実行します。
  • 問題は解決したようです。

テンソルフローをCUDAバージョンで動作させる場合は、最初にアンインストールしてからソースからコンパイルし、。/ configureの実行中にCUDAバージョンを指定する必要があります。
詳細情報はここにあります: https

私はこれを試しています(手動でテンソルフローを構築します)リンク

しばらく時間がかかる場合がありますが、この方法でマイナーバージョンを定義できます。

@ mldm4実際には、コマンドsudo apt-get install cudaは、システムにも9.1がインストールされているため、おそらく9.1をインストールしました。 同じ問題が発生し、特定のバージョンをインストールするためにsudo apt-get install cuda-9-0を実行しました(アーカイブからもダウンロードしました)。
あなたが行ったコンマ( sudo apt-get install cuda-libraries-9-0 )もcuda9.0をダウンロードすると思います。
問題17629で述べたように、この問題は解決されていません。問題は、TensorFlowがバージョン9.0を想定しているのに対し、私は9.1を想定していることです。 問題は、これをドキュメントでより明確に言及し、ドキュメントの下部にある一般的なインストールの問題に含めるか、Cuda9.1を受け入れるようにテンソルフローを更新することです。

まだ解決策はありませんか?

@thread

*投稿を注意深く読んでください! *

スレッドを読み、解決策を見つけるのはあなたの仕事です。 単に最後までスクロールするのではありません。

@abrahamrhoffmanそれは失礼です。

batchrcをcuda-9.1からcudaだけに変更しました。 その後、私のテンソルフローはlibcublas.so.9.0を見つけることができます

ちょうどfyi:cuda-9.0をダウンロードするためのnvidiaウェブサイトは実際にcuda-9.1をダウンロードしています。 https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal

@DanlanChenこれは、おそらく9.1もインストールされているためです。 9.0をインストールするには、ダウンロードの手順で、 sudo apt-get install cuda-9-0代わりにsudo apt-get install cuda sudo apt-get install cuda-9-0実行します。

@ cubetastic33テンソルフローバージョンをダウングレードし、cuda8.0を使用しました。とにかくありがとうございます。

@DanlanChenですが、最新バージョンを使用することをお

同じ問題に直面していますが、nvidia-dockerを使用してテンソルフローを実行しようとしています。 ホストにcuda-9-0をインストールしていますが、Dockerコンテナーを実行しようとすると次のようになります。

ImportError: libcuda.so.1: cannot open shared object file: No such file or directory

@ magick93とそのすべてがここに現れます!

聞く! 必要なものはすべて、cuda 9.1-> cuda9.0をダウングレードすることです。 それでおしまい! それを実行するだけです(それ以前にcuda 9.1をダウンロードした場合は、ターミナルで次のコマンドを実行できます)。

sudo apt-get install cuda-9-0そしてrm-rfでcuda9.1を削除します。

ところで、 ~/.bashrc (9.1-> 9.0)の$ PATHを変更することを忘れないでください。

こんにちは@ Oktai15

聞く! 必要なものはすべて、cuda 9.1-> cuda9.0をダウングレードすることです。 それでおしまい! 早くやれよ

はい、私はこれを何度も行いました。

sudo apt-get install cuda-9-0
[sudo] password for anton: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
cuda-9-0 is already the newest version (9.0.176-1).
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
$ ldconfig -p | grep cuda
    libnvrtc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc.so.9.0
    libnvrtc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc.so
    libnvrtc-builtins.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc-builtins.so.9.0
    libnvrtc-builtins.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc-builtins.so
    libnvgraph.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvgraph.so.9.0
    libnvgraph.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvgraph.so
    libnvblas.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvblas.so.9.0
    libnvblas.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvblas.so
    libnvToolsExt.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so.1
    libnvToolsExt.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so
    libnpps.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnpps.so.9.0
    libnpps.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnpps.so
    libnppitc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppitc.so.9.0
    libnppitc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppitc.so
    libnppisu.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppisu.so.9.0
    libnppisu.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppisu.so
    libnppist.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppist.so.9.0
    libnppist.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppist.so
    libnppim.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppim.so.9.0
    libnppim.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppim.so
    libnppig.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppig.so.9.0
    libnppig.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppig.so
    libnppif.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppif.so.9.0
    libnppif.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppif.so
    libnppidei.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppidei.so.9.0
    libnppidei.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppidei.so
    libnppicom.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicom.so.9.0
    libnppicom.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicom.so
    libnppicc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicc.so.9.0
    libnppicc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicc.so
    libnppial.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppial.so.9.0
    libnppial.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppial.so
    libnppc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppc.so.9.0
    libnppc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppc.so
    libicudata.so.55 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.55
    libcusparse.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusparse.so.9.0
    libcusparse.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusparse.so
    libcusolver.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusolver.so.9.0
    libcusolver.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusolver.so
    libcurand.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcurand.so.9.0
    libcurand.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcurand.so
    libcuinj64.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcuinj64.so.9.0
    libcuinj64.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcuinj64.so
    libcufftw.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufftw.so.9.0
    libcufftw.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufftw.so
    libcufft.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufft.so.9.0
    libcufft.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufft.so
    libcudnn.so.7 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7
    libcudart.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so.9.0
    libcudart.so.7.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so.7.5
    libcudart.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so
    libcudart.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so
    libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
    libcuda.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so
    libcublas.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcublas.so.9.0
    libcublas.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcublas.so
    libaccinj64.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libaccinj64.so.9.0
    libaccinj64.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libaccinj64.so
    libOpenCL.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so.1
    libOpenCL.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so

しかし、この単純なテンソルフロースクリプトを実行することすらできません。その結果、 ImportError: No module named tensorflow.python.client

from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos if x.device_type == 'GPU']

get_available_gpus()

私は誰もがここで抱えているのと同じ問題を抱えていました。9.0をインストールすることは役に立ちましたが、それから他の問題が発生しました。
それから私はこれに従いました

@ Oktai15はシステムをrm -rf削除しませんか? 必要なディレクトリに移動せずに試して、ホームフォルダを空にしてしまう可能性があるため、ここでさらに明確にしてください。

@ magick93あなたの問題は、CUDAバージョンではなく、別のもののようです。

私は同じ問題を抱えていました、私はいくつかの変更によって解決したと思います、この組み合わせは私のために働きます

Ubuntu 16、cuda 9.0、cudnn 7.0、python 3,5、tensorflow 1.6

以前のバージョンを使用したまま新しいcudaをインストールする場合は、必ず次のようにパスを指定してください。

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

@AbduoitあなたのUbuntuバージョンは本当に重要ではありません。 重要なのは、TensorFlow 1.6はCUDAがバージョン9.0であり、cuDNNがバージョン7.0.4であることを期待しているということです(そうです、0.4は重要です)

トレースバック(最後の最後の呼び出し):
ファイル "utils.py"、15行目、
tensorflowをtfとしてインポートします
ファイル "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/__init__.py"、24行目
tensorflow.pythonからインポート*
ファイル "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/__init__.py"、49行目
tensorflow.pythonからインポートpywrap_tensorflow
ファイル "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py"、行74、
ImportError(msg)を発生させます
ImportError:トレースバック(最後の最後の呼び出し):
ファイル "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py"、58行目
tensorflow.python.pywrap_tensorflow_internalインポートから*
ファイル "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py"、28行目
_pywrap_tensorflow_internal = swig_import_helper()
ファイル "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py"、24行目、swig_import_helper
_mod = imp.load_module( '_ pywrap_tensorflow_internal'、fp、pathname、description)
ImportError:libcublas.so.9.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません

ネイティブTensorFlowランタイムの読み込みに失敗しました。

https://www.tensorflow.org/install/install_sources#common_installation_problemsを参照して
sudo apt-get install cuda-7-0
vim〜 / .bashrc
export PATH = / usr / local / cuda-7.0 / bin $ {PATH:+:$ {PATH}}
エクスポートLD_LIBRARY_PATH = / usr / local / cuda7.0 / lib64 $ {LD_LIBRARY_PATH:+:$ {LD_LIBRARY_PATH}}
export PATH = / usr / local / cuda-9.0 / bin $ {PATH:+:$ {PATH}}
エクスポートLD_LIBRARY_PATH = / usr / local / cuda9.0 / lib64 $ {LD_LIBRARY_PATH:+:$ {LD_LIBRARY_PA
いくつかの一般的な理由と解決策のために。 スタックトレース全体を含める
ヘルプを求めるときは、このエラーメッセージの上にあります。

@pascalwhoopが述べたように、私はここhttp://www.python36.com/install-tensorflow141-gpu/の指示に従って、ソースからTensorflowをビルドしました。

それがcuda9.0と言うときはいつでも、私は9.1に変更し、cudnn7.0は7.1.2を置きました。

これまでのところ、うまくいきました!

@SAGGSOCなぜ

問題を抱えているすべての人:これをコミュニティと共有される堅実なDockerイメージに変えようとしている人。 むしろ、何かが機能する前に、CuDNNの5バージョンをDLするよりも機能する6GBのイメージプルを一度実行します。

https://github.com/pascalwhoop/tf_openailab_gpu_docker

しばらく前に始めましたが、プロジェクトの焦点が変わったためにやめました。 しかし、私はそれを追求する価値があると思います。 ほとんどのpplから離れて17の可動部品の正しい組み合わせを見つけるという全体の問題を防ぎます。

この投稿につまずく可能性のある人のために、いくつかのことを明確にするためだけに。 システムにcuda-8.0、cuda-9.0、cuda-9.1をインストールしました。 テンソルフローで動作させるために何も削除する必要はありません。 代わりに、他の人がすでに指摘しているように、システムからcuda-9.0が欠落している場合は、テンソルフローが正しく機能するための前提条件であるcuda-9.0をインストールする必要があります。

システムにcuda-9.0がインストールされていて、テンソルフローがlibcublas.so.9.0再び不平を言っている場合は、実行時に.bashrc LD_LIBRARY_PATH環境変数を使用して公開することを他の人が言っています。 /usr/local/cuda-9.0/lib64ポイントします。 これは、テンソルフロー1.7でも機能するはずです。

私が試みて失敗したのは、ソースからのビルドです。 何らかの理由で、bazelは常にエラーで終了します。 cuda-9.0 / cuda-9.1とcudnn7でビルドしようとすると、gcc7について文句を言います。 gcc5コンパイルの使用は正常に機能しているようですが、最後に常にエラーが発生し、ビルドが失敗します。

私の質問は、誰かがcuda-9.1 / cuda-9.0でソースから問題なくコンパイルできたかどうかです。

これは私のために働いた:

NVidiaの以前のリリースセクションからCUDAToolkit9.0をダウンロードします。
それで:

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub 
sudo apt-get update
sudo apt-get install cuda-9.0

上記の最後の行にある9.0に注意してください。

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64

私のセットアップ
Tensorflow 1.7
cuDNN 7.1.2
Ubuntu 16.04

エテミズ、
私は同じセットアップを持っていて、それは私にとってもうまくいきます。

投稿ありがとうございます:)

私も同じ状況でした。 私はcuda9.1を持っていましたが、tensorflowはcuda9.0のライブラリを見つけられませんでした。

次のコマンドでcuda9.0をインストールしました:sudo apt-get install cuda-libraries-9-0

それで私の問題は解決しました。

cuda 8および9.0がインストールされている場合、 .bashrcおよび.profile LD_LIBRARY_PATHを設定しても機能しません。 だから、私は設定しました
pycharm環境変数フィールドのLD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64とそれは動作します。

上記はUbuntuServer17にインストールするために機能しました。

  • cuda-9.0のインストール(9.1ではない)
  • CUDA9.0用のcuDNNv7.1.2(2018年3月21日)
  • 公式のtfインストール手順に従った他のすべて

コンパイルよりもはるかに簡単です。

condaユーザーに注意してください。 私は同じ問題にぶつかり、2日間頭を悩ませていましたが、ついにlibcudnn.soのローカルコピーがcondaによって使用されていることがわかりました。
/miniconda3/lib/libcudnn.soはlibcudnn.so.7を指し、これはlibcudnn.so.7.0.5を指します。
誰がどのように配置したかは覚えていませんが、システムのデフォルトのlibcudnn.so.7.1.2が過負荷になっています。

削除すると、すべてが魅力のように機能します。
tensorflow 1.7または1.8-毎晩、cuda-9.1、cudnn-7.1.2(ubuntu 16.04)

どういうわけか、私はインストールすることによってこれを解決しました:
cuda 9.1(パッケージマネージャーから)、
cudnn 7.1 for 9.1
そしてanacondaから:
このデフォルトコマンドを使用して 'conda install -c anaconda tensorflow-gpu'
cudatoolkit 9.0、
tensorflow 1.7、
tensorflow-GPU 1.7

PCでAntergoslinux、GTX1060を使用しました。 私のノートブック(Xubuntu 18.04、GT 840m)でも同様に機能しました。 私のノートブックで私は使用しました:
cuda 9.1(nvidia ppaから)、cudnn 7.1 for 9.1(nvidia webから)、その他は同じでした

ありがとう@Suananda! それは魔法のように機能します。

古いバージョンのCUDAを使用している場合、特に手動でインストールした場合は、新しいCUDAをインストールしても、ライブラリリンクが古いライブラリを指している可能性があります。 古いインストールを削除してから、sudoldconfigを実行して動的リンクを更新してください。

まだ解決策はありません!?

これにつまずくかもしれない人のために、私はcuda9.1で構築された最新のテンソルフロー1.8.0-rc1のコミュニティホイールをリリースしました。 ここで見つけることができます!

理由はldconfであることがわかりました。ldconfigはダイナミックリンクライブラリ管理コマンドであり、その目的はダイナミックリンクライブラリをシステムで使用できるようにすることです。

デフォルトのldconfは、/ libと/ usr / lib、および構成ファイル/ etc / ldにリストされているディレクトリの下のライブラリファイルのみを検索します。 それで。 conf。

したがって、これはすべて、インストールされているCUDAパス(/path/cuda-9.0/lib64や/path/cuda-9.0/libなど)にあるCUDAのダイナミックライブラリが原因です。 (たとえば、私のCUDAは/usr/local/cuda-9.0にインストールされています)

  1. CUDAマニュアルをインストールする場合は、インストール後に、cuda / lib64のパスを/etc/ld.so.confファイルに追加する必要があります。
    sudo echo "/usr/local/cuda-9.0/lib64/" >> /etc/ld.so.conf
    それから
    sudo ldconfig

    もちろん、次のようにパスマニュアルを追加できます。
    vim /etc/ld.so.conf
    次に、パス '/usr/local/cuda-9.0/lib64'を最後に追加します。
    sudo ldconfig
    操作後、ipythonまたはpycharmを再度開きます。
    tensorflowをtfとしてインポートします
    うわー、あなたはそれを楽しむでしょう!

  2. 'dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb'などのコマンドでCUDAをインストールすると、cudalibパスが/etc/ld.so.confに自動的に追加される場合があります。 ただし、念のため、/ etc / ld.so.confをチェックして、パスが追加されているかどうかを確認してください。

@NYcleaner
Ubuntuには、以下を含む/etc/ld.so.conf.d/cuda-9-1.confファイルがあります。
/usr/local/cuda-9.1/targets/x86_64-linux/lib

これで十分ですか、それともディレクトリ/usr/local/cuda-9.1/lib64/を追加する必要がありますか?

@sebma
/usr/local/cuda-9.1/lib64/パスを追加する必要があります。 *。 soファイルはlib64にあります。

sudo bash -c "echo /usr/local/cuda/lib64/ >/etc/ld.so.conf.d/cuda.conf"
sudo ldconfig

https://gist.github.com/zhanwenchen/e520767a409325d9961072f666815bb8から

@mashuもう1つのオプションは、コミュニティがビルド済みのホイールを提供することです。 上記の2〜3のスレッドを読むと、それもまた言及されていることがわかります。

@Suanandaありがとう、テンソルフローコンダ環境で動作します。
公式の人に、インストールガイド「 https://www.tensorflow.org/install/install_linux#InstallingAnaconda」、Anacondaインストールのステップ4を「pipinstall --ignore-installed--upgradetfBinaryURL」から「conda」に変更するように提案します。インストール-canaconda tensorflow-gpu "

Softlinkはこの問題を解決していないようです:

➜  cuda ls lib64 
libaccinj64.so                libcufftw_static.a     libnppial.so.9.2      libnppig_static.a    libnvblas.so.9.2
libaccinj64.so.9.2            libcuinj64.so          libnppial.so.9.2.88   libnppim.so          libnvblas.so.9.2.88
libaccinj64.so.9.2.88         libcuinj64.so.9.2      libnppial_static.a    libnppim.so.9.2      libnvgraph.so
libcublas_device.a            libcuinj64.so.9.2.88   libnppicc.so          libnppim.so.9.2.88   libnvgraph.so.9.2
libcublas.so                  libculibos.a           libnppicc.so.9.2      libnppim_static.a    libnvgraph.so.9.2.88
libcublas.so.9.0              libcurand.so           libnppicc.so.9.2.88   libnppist.so         libnvgraph_static.a
libcublas.so.9.2              libcurand.so.9.2       libnppicc_static.a    libnppist.so.9.2     libnvrtc-builtins.so
libcublas.so.9.2.88           libcurand.so.9.2.88    libnppicom.so         libnppist.so.9.2.88  libnvrtc-builtins.so.9.2
libcublas_static.a            libcurand_static.a     libnppicom.so.9.2     libnppist_static.a   libnvrtc-builtins.so.9.2.88
libcudadevrt.a                libcusolver.so         libnppicom.so.9.2.88  libnppisu.so         libnvrtc.so
libcudart.so                  libcusolver.so.9.2     libnppicom_static.a   libnppisu.so.9.2     libnvrtc.so.9.2
libcudart.so.9.2              libcusolver.so.9.2.88  libnppidei.so         libnppisu.so.9.2.88  libnvrtc.so.9.2.88
libcudart.so.9.2.88           libcusolver_static.a   libnppidei.so.9.2     libnppisu_static.a   libnvToolsExt.so
libcudart_static.a            libcusparse.so         libnppidei.so.9.2.88  libnppitc.so         libnvToolsExt.so.1
libcufft.so                   libcusparse.so.9.2     libnppidei_static.a   libnppitc.so.9.2     libnvToolsExt.so.1.0.0
libcufft.so.9.2               libcusparse.so.9.2.88  libnppif.so           libnppitc.so.9.2.88  libOpenCL.so
libcufft.so.9.2.88            libcusparse_static.a   libnppif.so.9.2       libnppitc_static.a   libOpenCL.so.1
libcufft_static.a             libnppc.so             libnppif.so.9.2.88    libnpps.so           libOpenCL.so.1.0
libcufft_static_nocallback.a  libnppc.so.9.2         libnppif_static.a     libnpps.so.9.2       libOpenCL.so.1.0.0
libcufftw.so                  libnppc.so.9.2.88      libnppig.so           libnpps.so.9.2.88    stubs
libcufftw.so.9.2              libnppc_static.a       libnppig.so.9.2       libnpps_static.a
libcufftw.so.9.2.88           libnppial.so           libnppig.so.9.2.88    libnvblas.so

まだ持っていた:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Linux環境でコードを直接実行すると、すべて問題ありません。 しかし、リモートインタープリターを介してローカルpycharmで実行すると、問題が発生します: ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory. "Failed to load the native TensorFlow runtime."

export PATH = $ {PATH}:/ usr / local / cuda-9.0 / bin
export CUDA_HOME = $ {CUDA_HOME}:/ usr / local / cuda:/usr/local/cuda-9.0
エクスポートLD_LIBRARY_PATH = $ {LD_LIBRARY_PATH}:/ usr / local / cuda-9.0 / lib64
エクスポートLD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ usr / local / cuda / extras / CUPTI / lib64

pycharmを使用する場合-インタプリタに追加します

f **はどうですか?tensorflow1.8とcuda9.1だけを使用したいですか?

@dongzhuoyaoでは、何が問題なのでしょうか。 上記の6スレッドの私のコメントを見てください。そこに解決策が見つかります!

cuda 9.2tensorflow-gpu 1.8問題が再び発生したと思います。 virtualenvでは、次のようになります。

>>> import tensorflow as tf
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

私の/usr/local/cuda-9.2/lib64フォルダーには次のlibcublasがあります。

$ ls /usr/local/cuda-9.2/lib64 | grep libcublas
libcublas_device.a
libcublas.so
libcublas.so.9.2
libcublas.so.9.2.113
libcublas.so.9.2.88
libcublas_static.a

バージョン:

Ubuntu 16.04
cuda 9.2
cudnn 7.1.4
tensorflow-gpu 1.8.0

cuda 9.2を使用するには、tensorflow-gpuを更新する必要があります。

また、cuda 9.0にダウングレードする場合、最初にcuda 9.2を削除する必要がありますか、それともすぐに9.0をインストールする必要がありますか? インストールが競合していませんか?

@mebbleどうぞリンク。 これは、cuda9.2のtf1.8ホイールです。

cuda 9.0にダウングレードする場合、最初にcuda9.2を削除する必要がありますか?

ダウングレードしないでください。 /usr/local/cuda-x.xインストールされる他のバージョンをインストールします

ありがとう! python 3.5.2とpip 10.0.1を使用していることを忘れました。 ホイールはPython3.6用だと思うので、インストールは機能しません。 3.5用もありますか?

@ kirk86は、指定したwhlをインストールした後、libmpi.so.40に対して同様のエラーをスローします。
CentOSとK80GPU、cuda 9.2、cudnnv7.1を使用しています

提案

私の知る限り、サブパッケージxxx、yyy、zzzなどを作成し、次のようにインストールできます。

pip install mainpackage[xxx]

このようにして、異なる共存バックエンドを提供できます。 Tensorflowはさまざまなオプションでビルドできるため、この方法で少なくとも2つのcuda-toolkitビルドを提供できます。

パッケージの全体的なポイントはビルドの時間を節約することですが、正常にインストールされても機能しない非常に特定のライブラリセットのパッケージビルドは逆効果です。 そもそもそのようなパッケージを持っていない方が良いでしょう。

@mebbleは、Python3.6用のconda仮想環境を作成するだけです。 システムにopenmpiもインストールされていることを確認してください。

@ pavan-08システムにopenmpiをインストールします。nvidiaの最新のものは何でもnccl2.xです。 私はほとんどのパッケージとライブラリでtfをコンパイルしたので、hdfs、kafta、awsなどを使用できます。それがopenmpiライブラリからのものであるためlibmpi.soに尋ねる理由です。

cuda9.2とtensorflow-gpu1.8では、テンソルフローを構築できません

宣言された出力 'external / local_config_cuda / cuda / cuda / lib /libcudnn.so.7'はぶら下がっているシンボリックリンクです

シンボリックリンクが存在します

バージョン:

Ubuntu 17.10
cuda 9.2
cudnn 7.1.4
tensorflow-gpu 1.8.0

これは私のために動作します(tensorflow-gpu == 1.8.0およびcudaバージョンは9.0、anacondaにインストールします)

export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/

からの提案: https

@Jackiexiaoうん、それは私が言おうとしていたことです。 私はワークステーションを使用しているので、私がする必要があるのは9.2ではなくCUDA 9.0を使用することだけでした(CUDAの複数のバージョンがインストールされていたため)

これは私のために働いた:
Tensorflow> 1.4にはCUDA9が必要なため、すべてのCUDAバージョンをアンインストールしました。

  1. sudo rm -rf / usr / local / cuda *
  2. dpkg -l | grep cuda- | awk '{print $ 2}' | xargs -n1 sudo dpkg --purge

正確にCUDA9.0とCuDNN7.0.xをインストールし、再起動します。

CUDA、CuDNN、Tensorflowの組み合わせを参照してください。

このエラーは主に、Nvidiaドライバー、CUDA、CuDNN、Tensorflow-gpuのバージョンの組み合わせが正しくないために発生します
image

ありがとう!

| |
杨康
|
|
邮箱: [email protected]
|

签名由②易邮箱大师定制

2018年8月18日08:00に、DhruvSrivastavaは次のように書いています。

CUDAとCuDNNの組み合わせを参照してください。

このエラーは主に、Nvidiaドライバー、CUDA、CuDNN、Tensorflow-gpuのバージョンの組み合わせが正しくないために発生します


コメントしたのでこれを受け取っています。
このメールに直接返信するか、GitHubで表示するか、スレッドをミュートしてください。

@dhruvhacksいいです

私はUbuntu18.08を使用しており、Cuda9.0を次の場所にインストールしました。

/usr/local/cuda-9.0

libcublas.so.9.0を探すことにしました:

# build search index
updatedb
# find the "missing" file
locate libcublas.so.9.0

これにより、ファイルが/usr/local/cuda-9.0/lib64/stubs/libcublas.so.9.0にあることがわかり、2つの問題があることに気付きました。 ~/.bash_profile設定したexport LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/ですが、ファイルはstubsディレクトリなので、次を使用する必要がありました。

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/stubs/

最後に、 libcublas.so.9.0はrootが所有していたので、ファイルのアクセス許可と所有者を変更しました。

sudo chown -R MY_USER:MY_GROUP /usr/local/cuda-9.0/
sudo chmod -R 777 /usr/local/cuda-9.0/

そして、すべてが順調でした!

cuda 8および9.0がインストールされている場合、 .bashrcおよび.profile LD_LIBRARY_PATHを設定しても機能しません。 だから、私は設定しました
pycharm環境変数フィールドのLD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64とそれは動作します。

まさに、問題を解決してくれてありがとう、私はこれを取り締まるために何日も費やしました。 本当に感謝します

PyCharmを使用してリモートサーバーでコードをデバッグするときにもこの問題が発生します(awsディープラーニングami)。 cudaバージョンは9.0、cudnnは7.1.4、tensorflowは1.10.0(gpuの場合)です。 サーバーに接続された端末でテンソルフローを正常にインポートできますが、PyCharmのPythonコンソールでテンソルフローをインポートできません。 この時点で問題が発生します。 したがって、PyCharmでデバッグすることはできません...
私の解決策は:サーバーに接続した後、ターミナルにこの行を入力する

sudo ldconfig /usr/local/cuda/lib64

そして私はthisLinkを参照し

@NYcleanerどうもありがとうございました! 助けになる! シンボリックリンクを使用するだけでも機能することがわかりました。
sudo echo "/ usr / local / cuda / lib64 /" >> /etc/ld.so.conf
sudo ldconfig

これはまだCuda9.1とTensorflow1.11の問題です

cuda 10.0 tensorflow 1.11

さらに良い解決策-テンソルフローを削除し、pytorchをインストールします
なぜテンソルフローはそれほど簡単にブレーキをかけることができるのですか?
インストールして実行できないのはなぜですか?
なぜpytorchでとても簡単で、tfで予測できないのですか? Wtfはそれで間違っていますか?

なぜcuda-9-0をインストールしないのですか?

  • ここに移動します: https
  • 次に、私にとって:deb(ネットワーク)をダウンロードする
sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys \
     http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

ubuntu 18.04では、cuda 9-0は(公式には)利用できません。 ただし、機能します。

こんにちは、みんな、
私は可能な限りPyTorchを使用していますが、(Keras)モデルをtensorflowjsにエクスポートする必要がある特定のプロジェクトでは、tfを使用する必要があります。 私にとってうまく機能した唯一の解決策は、ここで説明するように、UbuntuマルチバースからCUDAをインストールした後、ソースからビルドすることでした。

https://medium.com/@asmello/how -to-install-tensorflow-cuda-9-1-into-ubuntu-18-04-b645e769f01d

ボンヌチャンス!

さらに良い解決策-テンソルフローを削除し、pytorchをインストールします
なぜテンソルフローはそれほど簡単にブレーキをかけることができるのですか?
インストールして実行できないのはなぜですか?
なぜpytorchでとても簡単で、tfで予測できないのですか? Wtfはそれで間違っていますか?

愚かな解決策

Cuda10と最新バージョンのTensorFlowをインストールしましたが、 ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directoryを受け取りました。ダウングレードしましたが、まだこのメッセージが表示されます...

Cuda10と最新バージョンのTensorFlowをインストールしましたが、 ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directoryを受け取りました。ダウングレードしましたが、まだこのメッセージが表示されます...

「ダウングレード」するために発行したOSのバージョンと正確なコマンドを教えてください。

Deepin15.8とMint19.1を試しましたが、後でWindows10をテストします。 コマンドpip install --upgrade tensorflow-gpu==versionマスターバージョン1.9.0、1.10.1、1.11.0、1.12.0を試しました。 cudaバージョンとドライバー:

image

@Sphinxs 、私の意見では、2つの方法があります:a)インストールされたcudaバージョンを指すようにPythonホイールをローカルで再コンパイルするか、b)18.04インストールの場合と同じように

さらに良い解決策-テンソルフローを削除し、pytorchをインストールします
なぜテンソルフローはそれほど簡単にブレーキをかけることができるのですか?
インストールして実行できないのはなぜですか?
なぜpytorchでとても簡単で、tfで予測できないのですか? Wtfはそれで間違っていますか?

男はポイントを持っています。 TFは、より新しいCUDAバージョンで動作するようにコンパイルできます...ライブラリが基になるcudaバージョンを動的に把握できるようになるまで、 tensorflow-gpu-cuda110パッケージまたは一時的なものでほとんどの人にそれを提供しないのはなぜですか?

さらに良い解決策-テンソルフローを削除し、pytorchをインストールします
なぜテンソルフローはそれほど簡単にブレーキをかけることができるのですか?
インストールして実行できないのはなぜですか?
なぜpytorchでとても簡単で、tfで予測できないのですか? Wtfはそれで間違っていますか?

私はそれにうんざりしています!!!!

私はそれにうんざりしています!!!!

このコメントは問題に何も追加しません。 また、誰もTFを使用するように強制することはありませんが、pipパッケージを実際に使用する必要があり、機能させることができない場合は、自分でTFを作成してみませんか? それは私がある時点でやったことです。 ここにはコミュニティでサポートされているビルドもあります
https://github.com/tensorflow/tensorflowは下にスクロールするだけです。
たぶんあなたのGPUのために構築して貢献しますか?

さらに良い解決策-テンソルフローを削除し、pytorchをインストールします
なぜテンソルフローはそれほど簡単にブレーキをかけることができるのですか?
インストールして実行できないのはなぜですか?
なぜpytorchでとても簡単で、tfで予測できないのですか? Wtfはそれで間違っていますか?

私はそれにうんざりしています!!!!

これは問題のページです。 問題を修正できるように、またはさらに良いことに、問題の修正に役立てるために、問題を述べてください。

@raphaunixこのチャートはどこから来たのですか?

次のコマンドを実行して、Tensorflow1.11.0を動作させました。

conda create -n tf python=2
conda activate tf
pip install tensorflow-gpu==1.11
conda install cudatoolkit==9.0

理由はldconfであることがわかりました。ldconfigはダイナミックリンクライブラリ管理コマンドであり、その目的はダイナミックリンクライブラリをシステムで使用できるようにすることです。

デフォルトのldconfは、/ libと/ usr / lib、および構成ファイル/ etc / ldにリストされているディレクトリの下のライブラリファイルのみを検索します。 それで。 conf。

したがって、これはすべて、インストールされているCUDAパス(/path/cuda-9.0/lib64や/path/cuda-9.0/libなど)にあるCUDAのダイナミックライブラリが原因です。 (たとえば、私のCUDAは/usr/local/cuda-9.0にインストールされています)

1. CUDAマニュアルをインストールする場合は、インストール後に、cuda / lib64のパスを/etc/ld.so.confファイルに追加する必要があります。
sudo echo "/usr/local/cuda-9.0/lib64/" >> /etc/ld.so.conf
それから
sudo ldconfig
もちろん、次のようにパスマニュアルを追加できます。
vim /etc/ld.so.conf
次に、パス '/usr/local/cuda-9.0'を最後に追加します。
その後、それを更新します
sudo ldconfig
操作後、ipythonまたはpycharmを再度開きます。
import tensorflow as tf
うわー、あなたはそれを楽しむでしょう!

'dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb'などのコマンドでCUDAをインストールすると、cudalibパスが/etc/ld.so.confに自動的に追加される場合があります。 ただし、念のため、/ etc / ld.so.confをチェックして、パスが追加されているかどうかを確認してください。

@jabalazs conda install cudatoolkit==9.0代わりにpip install cudatoolkit==9.0た。理由を知っていますか?

colabでのランタイムがGPUを使用していないことがわかりました。そのため、エラーが発生しました。

さらに良い解決策-テンソルフローを削除し、pytorchをインストールします
なぜテンソルフローはそれほど簡単にブレーキをかけることができるのですか?
インストールして実行できないのはなぜですか?
なぜpytorchでとても簡単で、tfで予測できないのですか? Wtfはそれで間違っていますか?

良い解決策@dodler ! しかし、このすばらしいアドバイスをxDで簡単に実行できるようにするためのコマンドが不足していると思います。

pip uninstall tensorflow
pip install torch

ハッピーコーディング!

Thundersvmを使用してGoogleColabのGPUでNuSVRを高速化しようとすると、同じエラーが発生しました。
Cuda 9.0をインストールすると、問題が解決しました。
ただ従う:

!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb

!ls # Check if required cuda 9.0 amd64-deb file is downloaded

!dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb

!ls /var/cuda-repo-9-0-local | grep .pub

!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub

!apt-get update

!sudo apt-get install cuda-9.0

このページは役に立ちましたか?
0 / 5 - 0 評価