1. ホーム
  2. Deep Learning

Tensorflow 踩坑:ImportError: DLL のロードに失敗しました。指定されたモジュールが見つかりません。 TensorFlowのネイティブランタイムのロードに失敗しました。

2022-02-14 07:48:33

コンフィギュレーションです。

ウィンセブン

パイソン3.6

テンソルフロー 1.12.0

cudatoolkit 9.0

cudnn 7.1.4

問題の原因

tensorflowでダイナミックグラフを実装するためにEager Executionを試したいと思い、どんなinstall文を使ったかは覚えていないのですが、tensorflowをtfとしてimportして戻ると、以下のバグが発生しました。

インターネットでいろいろ調べてみると、次のような解決策がありました。

  1. 様々なバージョンの互換性の問題
  2. 対2015年版のインストール
  3. numpyのアップデート
  4. vc_redist.x64のインストール
  5. 環境変数の確認
  6. protobufのバージョンを下げる
  7. プロセスモニタがDLLファイルの欠落を監視

    .......................

とにかく上記を全て試し、cudaも再インストールして、一朝一夕でggりました。

この際、諦めてtensorflowを再インストールして忘れようかと思います。

そこで、コマンドラインで pip uninstall tensorflow-gpu==1.12.0 と打ち込みました。

アンインストールが完了するのを待って、アンインストールされているかどうかを確認するために conda list と入力すると、tensorflow、cudatoolkit、cudnn がすべて存在することがわかりました。そして import tensorflow as tf と入力すると、奇跡的にタスクエラーがありませんでした。

10分後、importはエラーを報告しなかったものの、tensorflowが動かないことに気づき、素直にコマンドラインでpip install tensorflow-gpu==1.12.0 と入力して再インストールしたら、動きました。