#目的
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より少しバージョンを下げるだけでも良かったのかもしれないが、この場合は、たぶん、これで正解。別途、また、確認します。
#まとめ
コメントなどあればお願いします。