しんさんのブログ

科学や技術のこと読書のことなど

Kerasのバックエンドを変更する方法

Anacondaでpythonとtensorflow及びKerasをインストールしてpythonからimprot kerasを実行するとバックエンドがなぜかtheanoになってしまう問題の解決方法です。

解決方法:(環境変数を書き換える)

C:\Users\someone\Anaconda3\envs\someEnv\etc\conda\activate.d
以下にある, keras_activate.batを以下のように書き換える.
set "KERAS_BACKEND=tensorflow"
その後、いったんanaconda 環境をdeactivateして再びactivateするとkerasのバックエンドがtensorflowになります.


どうやらコマンドラインから
activate someEnv
とすると、anacondaの環境をactivate する際に
C:\Users\someone\Anaconda3\envs\someEnv\etc\conda\activate.d\keras_activate.bat
が実行されて
KERAS_BACKENDでtheanoがセットされてしまうようです。
Anaconda navigatorから仮想環境のコマンドプロンプトを立ち上げた場合にはこのbatch fileは実行されないので、kerasのデフォルトのバックエンドであるtensorflowがactiveになります。

ちなみにですが、上記環境変数とは別にkeras.jsonにKerasのバックエンドをしてしている記述があり、環境変数がない場合にはこちらが有効となるようですので、何かの時のために覚えておくといいと思います。
詳しくは以下のサイトを参照
qiita.com