質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

1456閲覧

KerasがTensorFlowをバックエンドとして使用されていることを確認したい

o_o_

総合スコア2

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/12/05 11:22

編集2022/12/05 11:47

前提

TensorFlowとKerasのインストールについてお聞きしたいことがあります。アドバイスいただけると嬉しいです。よろしくお願いいたします。

実現したいこと

TensorFlowとKerasのインストール後、
"import keras"を入力したときに"Using TensorFlow backend."と表示され、KerasがTensorFlowをバックエンドとして使用していることを確認したいです。

発生している問題・エラーメッセージ

import kerasと入力しても何も表示されない。

イメージ説明

試したこと

まずTensorFlowを"pip install tensorflow"でインストールし、その後Kerasを"pip install keras"でインストールしようとしたら"Requirement already satisfied: keras in c:\users\ユーザー名\anaconda3\lib\site-packages (2.11.0)"と表示されました。そして"import keras"をしたところ、今回のように何も表示されませんでした。

"pip list"で確認をすると、TensorFlowとKeras共に2.11.0のバージョンで入っていました。

参考書を確認すると、まずTensorFlowを"pip install tensorflow"でインストールし、その後Kerasを"conda install keras"でインストールすると書いてあったため、一度anacondaをアンインストールし、その後再インストールして試したのですが、"import keras"を入力した際に"AssertionError: Duplicate registrations for type 'optimizer'"というエラーメッセージが表示されました。

pipとcondaを混在させると良くないという記事や、TensorFlowとKerasのバージョンを揃える必要があるなどの記事も読んだため、TensorFlowを"conda install tensorflow==2.6.0"でインストールし、その後Kerasを"conda install keras==2.6.0"でインストールしようとしましたが、TensorFlowのインストールの時点でうまくいきませんでした。

ユーザーファイル下にある「.keras」ファイルの「keras.json」内には"backend": "tensorflow"と記述されていました。

補足情報(FW/ツールのバージョンなど)

・TensorFlow 2.11.0
・Keras 2.11.0
・Python 3.9
・anaconda3
・Windows10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PondVillege

2022/12/05 11:38

「実現したいこと」が > "import keras"を入力したときに"Using TensorFlow backend."と表示されるようにしたい。 とおっしゃっていますが,本当はその先にある「Keras が Tensorflow をバックエンドとして使っていることを確認したい」のではないでしょうか?昔はそのメッセージがsys.stderrに出ていましたが,いつからか見なくなっています.
o_o_

2022/12/05 11:51

コメントありがとうございます。「実現したいこと」の部分がわかりにくくて申し訳ありませんでした。ps_aux_grep様のアドバイスを参考に文の編集を行いました。「昔はそのメッセージがsys.stderrに出ていた」というのは、"import keras"を入力したときに"Using TensorFlow backend."と昔は出ていたが、今は"Using TensorFlow backend."と表示されないということでしょうか。
PondVillege

2022/12/05 13:10 編集

はい.弊環境でもGoogle Colab環境でも出ません. バージョンを明示しておきます. Google Colab - Python3.8.15 - Keras2.9.0 MacOS - Python3.9.15 - Keras2.10.0 Windows11 - Python3.10.2 - Keras2.10.0 Ubuntu22LTS - Python3.10.6 - Keras.2.10.0
jbpb0

2022/12/07 00:36 編集

当方のmacのpythonにtensorflow 1.15.3, Keras 2.3.1を入れて、pythonで import keras を実行したら、「Using TensorFlow backend.」が表示されました
o_o_

2022/12/05 15:05

皆様コメントありがとうございます。とても助かりました。参考にさせていただきます。
jbpb0

2022/12/07 00:35 編集

> KerasがTensorFlowをバックエンドとして使用していることを確認したいです。 > ・Keras 2.11.0 https://github.com/keras-team/keras/releases/tag/2.3.0 に 「This is also the last major release of multi-backend Keras.」 とあり、 https://github.com/keras-team/keras/releases/tag/2.4.0 に 「we have discontinued multi-backend Keras」 とあることから、Keras 2.4.0以降はバックエンドがtensorflowに一本化されてます multi-backendだったKeras 2.3.1の場合は、 import keras の実行により、 https://github.com/keras-team/keras/blob/2.3.1/keras/__init__.py で from . import backend が実行され、 https://github.com/keras-team/keras/blob/2.3.1/keras/backend/__init__.py で from .load_backend import (いろいろ) が実行され、 https://github.com/keras-team/keras/blob/2.3.1/keras/backend/load_backend.py で sys.stderr.write('Using TensorFlow backend.\n') が実行され、「Using TensorFlow backend.」が表示されます multi-backendではなくなったKeras 2.4.0の場合は、 import keras の実行により、 https://github.com/keras-team/keras/blob/2.4.0/keras/__init__.py で from . import backend が実行されるところまでは同じですが、その先は違い、 https://github.com/keras-team/keras/blob/2.4.0/keras/backend.py で from tensorflow.keras.backend import * が実行されます Keras 2.6.0の場合は、さらに違ってて、 https://github.com/keras-team/keras/blob/v2.6.0/keras/__init__.py に from . import backend がありません
guest

回答2

0

KerasがTensorFlowをバックエンドとして使用していることを確認したいです。

・Keras 2.11.0

Releases 2.3.0

「This is also the last major release of multi-backend Keras.」
とあり、
Releases 2.4.0

「we have discontinued multi-backend Keras」
とあることから、Keras 2.4.0以降はバックエンドがtensorflowに一本化されてます

投稿2022/12/07 00:34

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

o_o_

2022/12/07 05:21

回答とコメントありがとうございます。とてもわかりやすく、助かりました。
guest

0

ベストアンサー

meg_さんの示していただいたリンクの通り,コマンドで

shell

1python -c "import keras; print(keras.backend.backend())"

と入力するだけで使っているバックエンドの確認ができます.したがって,擬似的に

python

1import sys 2from keras import backend as K 3print(f"Using {K.backend()} backend.", file = sys.stderr)

と冒頭に書いて再現することはできます.

投稿2022/12/05 12:12

PondVillege

総合スコア1579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

o_o_

2022/12/05 15:04

回答ありがとうございます。Pythonの方を試してみたところ、"from keras import backend as K"と入力した際に"ImportError: cannot import name 'backend' from 'keras' (unknown location)"と表示されてしまいました。調べたら、同じようなエラーの方がTensorFlowを最新版にアップデートすることで解決したとあったのでアップデートしてやってみましたが変わりませんでした。
PondVillege

2022/12/05 18:04

コマンドの方はできて,pythonの方はできない,という状態でしょうか
o_o_

2022/12/06 04:09

コマンドの方も試してみたところ、"AttributeError: module 'keras' has no attribute 'backend'"というエラーが出ました。コマンドのもPythonもできないという状態です。
PondVillege

2022/12/06 04:17

まぁ,condaとpipでごっちゃになっているので,どっちを使うか明確にして解決されるのが良いかと思います.参考書も「両方使うなよ」って言ってやりたいぐらい一本化されることを推奨します. 手っ取りっ早いのはpython -m venv venvで仮想環境を構築して,純粋にpipだけでやる方だと思います.
o_o_

2022/12/06 05:31

アドバイスくださりありがとうございます。とても助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問