Tensorflow2.0をインストールした環境に、tf.nightlyをインストールしたら、まったく動かなくなってしまいました。
発生したこと
python3.7環境に、tensorflow2.0をインストールして使ってます。
そうすると、以前にtensorflowのversion1.xx の頃に書いた記事のプログラムがエラーで動かない・・ということが、ぽつぽつでてきてしまってます。
tensorflow hubについて書いたものもそうです。
もともと、version1もしくはversion2のプレビュー版用のモデルなので仕方ないのですが、時間があれば、tf2.0でも動くように修正しようかな?・・などと考えてはいたわけです。
それで、以下のサイトを久しぶりにみました。
すると、トップページに。
!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については、以下のように書いてあります。
ビルドのプレビューだから(不安定)・・だと。
でも。
インストール中にエラーもなく、最後にちゃんと「successfully」とでているのに、既存のソースを動かすといきなり。
Failed to load the native TensorFlow runtime.
となるのは、不安定といってもは行き過ぎでしょう(笑)
そう考えて、いろいろググってみました。
残念ながら、「これだ!!」ってピンポイントにヒットするものは見つけられませんでした。
一番近いのは、このあたりかなあ?
このへんの情報を踏まえた推測でしかないですが、CPUしかないPCにGPU版のtensorflowをインストールしたケースってのが、近い感じがします。
tf.nightlyインストール時に、なんとなくGPUアリ前提のモジュールがインストールされてしまった・・とか・・ですかね。
今回学んだこと
こんな感じでモヤモヤ感は乗り込ますが、はっきりしていることが一つ。
CPUしかないPCでやってるなら、tf.nightlyはリスクがあるってことです。
ということで。
tensorflow hubは面白いですけど、tf.nightly前提なら、当面使わなくてもいいや・・と開き直るしかないですね。
ではでは。