web-dev-qa-db-ja.com

AnacondaでKerasにTensorflowバックエンドを使用させる方法は?

Anaconda環境にtensorflow-gpuをインストールしました。両方ともうまくいきます。

現在、TensorflowバックエンドでKerasをインストールしようとしています。 命令 に従って、私はちょうど実行します:

pip install keras

しかし、それはkerasをインストールしません、そして私は試しました:

conda install -c conda-forge keras=2.0.2

それから、私は現在、pythonでkerasをインポートできます。しかし問題は、常にTheanoバックエンドを使用することです。私はこれを変更しようとしていますが、それを行う方法を知りません。

また、ファイル〜/ .kerasを編集しようとしましたが、実際にはデフォルトのバックエンドはすでにテンソルフローでした。

助けてください。ありがとうございます!

17
Tai Christian

これは、keras conda-forgeパッケージが${CONDA_PREFIX}/etc/conda/activate.d/keras_activate.shにファイルを配置し、環境変数KERAS_BACKENDを設定するために発生します

(root) [root@starlabs ~]# cat $CONDA_PREFIX/etc/conda/activate.d/keras_activate.sh
#!/bin/bash
if [ "$(uname)" == "Darwin" ]
then
    # for Mac OSX
    export KERAS_BACKEND=tensorflow
Elif [ "$(uname)" == "Linux" ]
then
    # for Linux
    export KERAS_BACKEND=theano
fi

ファイルからわかるように、Linuxでは、公式ドキュメントに従って値を「theano」に設定します。

環境変数KERAS_BACKENDは、構成ファイルで定義されているものをオーバーライドします

これを回避するには、このファイルを編集して「theano」を「tensorflow」に変更するか(再インストールまたは環境の変更時に上書きされる可能性があります)、または以下を実行します。

export KERAS_BACKEND=tensorflow
python /path/to/python/program.py
40
Nehal J Wani

Conda-forgeからkerasをインストールした後、同じ問題が発生しました。 keras.jsonすでにテンソルフローがありました:

{
    "floatx": "float32",
    "epsilon": 1e-07,
    "backend": "tensorflow",
    "image_data_format": "channels_last"
}

しかし、activate tensorflow_keras(ここで "tensorflow_keras "は環境名です)、バックエンドをtheanoに変更します。

C:\Users\User1>activate tensorflow_keras

(tensorflow_keras) C:\Program Files\Anaconda3\envs\tensorflow_keras\etc\conda\ac
tivate.d>set "KERAS_BACKEND=theano"

上記の@FvDに従って、このファイルを編集しました。

C:\Program Files\Anaconda3\envs\tensorflow_keras\etc\conda\activate.d

theanoをtensorflowに変更しました:

set "KERAS_BACKEND=tensorflow"
7
fairnc

Windows 10でのマルチユーザーインストールでは、Anaconda環境アクティベーションファイルは次のとおりです。

C:\Users\<user name>\AppData\Local\Continuum\Anaconda3\envs\<environment name>\etc\conda\activate.d\keras_activate.bat

単に<user name>および<environment name> 合わせる。

4
4Oh4

Anacondaを使用するWindowsユーザー向け。 Anacondaプロンプトを開き、次を入力します。

set "KERAS_BACKEND=tensorflow"

これでうまくいくはずです。 Jupyter Notebookを使用している場合は、再起動する必要があります。

1
Rami Alloush

同様の問題があった場合、~/.keras/keras.jsonにはアクセスできません。kerasは/tmp/.keras/keras.json

1
user3236274

これは少し作業のようですが、conda envsを私と同じくらい使用すると、TensorflowとTheanoの環境が別々にあります。環境変数がアクティブになるたびに、環境変数の設定と設定解除を繰り返す回数が減ります。

https://conda.io/docs/user-guide/tasks/manage-environments.html

Conda envsページによると。

1)ターミナルウィンドウでconda環境のディレクトリを見つけます。

/home/jsmith/anaconda3/envs/analytics.

2)そのディレクトリに入り、これらのサブディレクトリとファイルを作成します。

cd /home/jsmith/anaconda3/envs/analytics
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh

3)./etc/conda/activate.d/env_vars.shを次のように編集します。

echo 'export KERAS_BACKEND=theano' > ./etc/conda/activate.d/env_vars.sh

4)./etc/conda/deactivate.d/env_vars.shを次のように編集します。

echo 'unset KERAS_BACKEND' > ./etc/conda/deactivate.d/env_vars.sh

Macシステムでは、ターミナルに移動してユーザープロファイルに移動し、。kerasフォルダーが存在するかどうかを確認します。

ls -a
cd .keras
vim keras.json # edit the keras.json file in editor and change the backend to tensorflow

次のようになります。

"floatx": "float32",
"epsilon": 1e-07,
"backend": "tensorflow",
"image_data_format": "channels_last" 

escapeボタンを押してエディターを閉じ、次に:wqを押して動作します

Conda環境を使用している場合は、以下の手順に従ってください1.まず、anaconda envフォルダーに移動して環境変数を見つけます

Anaconda3/envs/"name_of_your_conda_environment" /etc/conda/activate.d

デフォルトでtheano asバックエンドを持つkeras_activate.batファイルが含まれています。値をtensorflowに変更し、ファイルを保存します。 KERAS_BACKEND = tensorflow

環境を非アクティブ化し、再びアクティブにします

source deactivate name_of_your_conda_environment
source activate name_of_your_conda_environment

これがすべてのkerasバックエンドテンソルフローの問題を解決することを願っています。

0
Vaibhav K