PyCharmにKeras(TensorFlow 2.0から)をインポートできません


8

PyCharmに安定版のTensorFlow 2.0(2019年10月1日にリリース)をインストールしました。

問題は、kerasパッケージが利用できないことです。 ケラスをインポートできません

実際のエラーは:

テンソルフローから名前「ケラス」をインポートできません

を介してインストールしpip install tensorflow==2.0.0CPU version後、CPUバージョンをアンインストールし、GPUバージョンをインストールしました。pip install tensorflow-gpu==2.0.0.

上記で機能したTensorFlowのバージョンはいずれも正しく機能していませんでした(を介してkerasまたは他のパッケージをインポートできませんでしたfrom tensorflow.package_X import Y)。

TensorFlowをバージョン2.0.0.b1戻した場合、kerasはパッケージとして利用でき(PyCharmはそれを認識します)、すべてがスムーズに実行されます。

この問題を解決する方法はありますか?インストールプロセスを間違えていませんか?

更新--- Pythonコンソールからのインポートが機能し、エラーなしでインポートできます。 コンソールからの書き込みが機能する


1
今日インストールしましたが、pip install tensorflow-gpuを使用して問題なく動作しています。
ムクル

実際には何も表示しないスクリーンショットを提供する代わりに、失敗して問題を表示する実際のコードを提供する必要があります。間違った方法でインポートしているだけかもしれません。
xdurch0

このスクリーンショットは、PyCharmがTensorFlow内のkerasパッケージさえも表示できないことを示すためのものです。エラーは「テンソルフローからケラスをインポートできません---モジュールのケラスが見つかりません」
Timbus Calin

:私の知る限りPyCharm GitHubの上とにオープン別の問題に読んで、PyCharm IDEのエラーのようですintellij-support.jetbrains.com/hc/en-us/community/posts/...
Timbus CALIN

1
わかりました。失礼なことに遭遇したのかもしれませんが、問題が何であるか本当に理解できませんでした。(多かれ少なかれ)それを解決できてうれしいです。
xdurch0

回答:


10

PyCharmユーザー向け

PyCharmを使用する人のために。ここ2019.3 EAP build 193.3793.14から将来の(EAP)リリースをインストールします。これにより、TensorFlowの現在の安定版リリース(2.0)でオートコンプリートを使用できるようになります。私はそれを試しました、そしてそれは働きます:)。

他のIDEの場合

他のIDEを使用しているユーザーの場合、これは安定版がリリースされた後にのみ解決されます。ただし、修正にはさらに時間がかかる場合があります。こちらのコメントをご覧ください。待って使い続けるのが賢明だと思いversion 2.0.0.b1ます。一方tensorflow_core、今後コードをリファクタリングしたくない場合は、からのインポートを避けてください。

注:オートコンプリートが機能するには、以下のようにimportステートメントを使用します

import tensorflow.keras as tk

# this does not work for autocomplete 
# from tensorflow import keras as tk  

オートコンプリートはCPUバージョンのTensorFlow 2.0.0で機能しますが、GPUバージョンでは機能しません。


はい、PyCharmがこの問題を修正するまで待ちます。コメントありがとうございます。
Timbus Calin

2

解決しよう---以下のこの問題の答えを見てください。

ソリューション1(最適なソリューション)

上記で受け入れられた回答です。EAPバージョンで動作します。Windowsを搭載した複数のマシンでテストしました。

ソリューション2

PyCharmはモジュールを認識しませんが、.pyファイルを実行すると機能します。これがTensorFlowの問題かPyCharmの問題かはまだわかりませんが、これは私が見つけた解決策であり、多くの人々がこの問題に遭遇しています。

PyCharmはインポートを認識せず、エラーと見なします

ここに画像の説明を入力してください

ソリューション3

モジュールをインポートtensorflow_coreの代わりに、tensorflow

例: from tensorflow_core.python.keras.preprocessing.image import ImageDataGenerator

ただし、@ Nagabhushan SNが以下のコメントで受け入れた回答の中で述べているように、

一方、将来コードをリファクタリングしたくない場合は、tensorflow_coreからのインポートを避けてください。

ここに画像の説明を入力してください


受け入れられた回答の上に何も追加しません
Nagabhushan SN '27

1
答えは確かに編集されました。というのも、上で最良のソリューションが追加されると私が明確に述べたからです。
Timbus Calin

1
わかった申し訳ない。私の悪い。マイナーな変更を行える場合は、反対票を削除します
Nagabhushan SN

1
また、Praveen Kulkarniの回答で述べたように、3番目のソリューションに対して以下の警告を追加することをお勧めします:On the other hand avoid imports from tensorflow_core if you do not want to refactor your code in the future.彼の回答へのリンクを提供できます:stackoverflow.com/a/58192020/3337089
Nagabhushan SN

1
リクエストに応じてコメントを追加していただき、ありがとうございます。
Timbus Calin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.