- 投稿日:2020-08-10T23:04:58+09:00
深層学習とかでのTensorflowエラー「ImportError: DLL load failed: 指定されたモジュールが見つかりません。 」への対処
目的
tensorflowの関連で以下のエラーが出ることがある。
ImportError: DLL load failed: 指定されたモジュールが見つかりません。もう少し手前から示すと、以下のようなエラー。
ImportError: Traceback (most recent call last): File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 64, in <module> from tensorflow.python._pywrap_tensorflow_internal import * ImportError: DLL load failed: 指定されたモジュールが見つかりません。対処方法を示す。
対処
前提
エラーが出たときのtensorflowのバージョンは以下。
tensorflow 2.3.0個別の問題ではないので、直接は関係ないが、エラーが出たのは、
以下のgithubのコードを実行した場合(XLNET関連)。
https://github.com/zihangdai/xlnet具体的な対処
(経験的にtensorflowのバージョンの問題のような気がしたので。。。)
以下のコマンドで、tensorflowのバージョンを2より小さくした。
python -m pip install "tensorflow<2.0.0"上記のコマンドで、tensorflowのバージョンは、
tensorflow 1.15.3になった。
以下のPYPIをみると、
https://pypi.org/project/tensorflow/#history
2.0.0より小さいバージョンは、1.15.3になっているので、通常、こうなるのだろう。⇒ エラーは、無事消えた。
補足
- 環境を分けて、複数のバージョンをインストールすることができるのだろうけども、昔、それを実行して、嫌な感じになったので、最近は、後先考えずに、バージョンを変更している。当然、tensorflowが2以上でないと動作しないものもあるので、 それを実行する場合は、バージョンを上げる(頻繁に作業されている方は、さすがに、このやり方は、まずいかも。。。。)
- もしかすると、今回のエラーは、2.3より少しバージョンを下げるだけでも良かったのかもしれないが、この場合は、たぶん、これで正解。別途、また、確認します。
まとめ
コメントなどあればお願いします。