2022年08月03日 更新
どうも、クラゲジュニアです。
少し古いWindows PC(CPUがインテルCeleron N4100)でTensorFlow 2.2.0をインストールして実行したところ、以下のようなエラーが出ました。
ImportError: DLL load failed: ダイナミック リンク ライブラリ (DLL) 初期化ルーチンの実行に失敗しました。
Failed to load the native TensorFlow runtime.
import tensorflow
を行うだけでも同じエラーが出ます。
CPUがAVX(Advanced Vector Extensions)に対応していないためです。ちなみにAVXとは、CPUの拡張命令セットのひとつで処理を高速化するものです。古いCPUだと対応していない可能性があります。
ここは飛ばしても問題ありません。
インテル® プロセッサ 識別 ユーティリティをインストールすることで確認できます。
インテル®アドバンスド・ベクトル・エクステンション
がAVXです。グレーアウトしているということは対応していないということです。
最も簡単なのは、TensorFlowのバージョンを1.5以下にすることです。AVX非対応でも動きます。
非公式ではありますが、AVX非対応のTensorFlowを使う方法です。
以下のリンク先はTensorFlow 2.2.0の場合ですが、ディレクトリを辿れば他のバージョンも見つかります。
上記の3つのファイルをダウンロードします。7zipを展開できるソフトがPCにない場合はこちらからダウンロードしてインストールします。
展開すると以下のようなファイル名で、1つのファイルが出来上がります。
先に現状のTensorFlowはアンストールします。
pip unistall tensorflow
AVX非対応のtensorFlowをインストールします。
pip install tensorflow-2.2.0-cp37-cp37m-win_amd64.whl
これでOKです。
以上です。