"BOKU"のITな日常

62歳・文系システムエンジニアの”BOKU”は日々勉強を楽しんでます

tf.nightlyをインストールしたら「Failed to load the native TensorFlow runtime.」がでるようになった

Tensorflow2.0をインストールした環境に、tf.nightlyをインストールしたら、まったく動かなくなってしまいました。

f:id:arakan_no_boku:20191221000914p:plain

 

発生したこと

 

python3.7環境に、tensorflow2.0をインストールして使ってます。

そうすると、以前にtensorflowのversion1.xx の頃に書いた記事のプログラムがエラーで動かない・・ということが、ぽつぽつでてきてしまってます。

tensorflow hubについて書いたものもそうです。

もともと、version1もしくはversion2のプレビュー版用のモデルなので仕方ないのですが、時間があれば、tf2.0でも動くように修正しようかな?・・などと考えてはいたわけです。

それで、以下のサイトを久しぶりにみました。

www.tensorflow.org

すると、トップページに。

!pip install "tensorflow_hub==0.4.0"
!pip install "tf-nightly"

と書いてあるので、何も考えずにインストールしました。

すると。

今まで、動いていた全てのtensorflowプログラムが動かなくなりました。

エラーメッセージは以下です。

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

Failed to load the native TensorFlow runtime.

 あれあれ・・。

まいりました。

 

リカバリはしたのですが

 

そのまま・・というわけにはいかないので、以下のようにしました。

tf.nightlyのアンインストール

pip uninstall tf-nightly

tensorflowのアンインストール

pip uninstall tensorflow

tensorflowの再インストール

pip install --upgrade pip 

これで、とりあえずtensorflowは動くようにはなりました。

でも。

なんか気持ち悪いです。

 

原因は自分のPCにGPUがないからなのかな?

 

まあ。

確かに、tf.nightlyについては、以下のように書いてあります。

Or preview build for CPU/GPU (unstable)

ビルドのプレビューだから(不安定)・・だと。

でも。

インストール中にエラーもなく、最後にちゃんと「successfully」とでているのに、既存のソースを動かすといきなり。

Failed to load the native TensorFlow runtime.

となるのは、不安定といってもは行き過ぎでしょう(笑)

そう考えて、いろいろググってみました。

残念ながら、「これだ!!」ってピンポイントにヒットするものは見つけられませんでした。

一番近いのは、このあたりかなあ?

github.com

このへんの情報を踏まえた推測でしかないですが、CPUしかないPCにGPU版のtensorflowをインストールしたケースってのが、近い感じがします。

tf.nightlyインストール時に、なんとなくGPUアリ前提のモジュールがインストールされてしまった・・とか・・ですかね。

 

今回学んだこと

 

こんな感じでモヤモヤ感は乗り込ますが、はっきりしていることが一つ。 

CPUしかないPCでやってるなら、tf.nightlyはリスクがあるってことです。

ということで。

tensorflow hubは面白いですけど、tf.nightly前提なら、当面使わなくてもいいや・・と開き直るしかないですね。

ではでは。