2017-04-10 203 views
12

我已經在我的Anaconda環境中安裝了tensorflow-gpu。他們都很好。如何使Keras在Anaconda中使用Tensorflow後端?

現在我試圖安裝Keras Tensorflow後端。按照instruction我就跑:

pip install keras 

但它不會安裝keras,然後我想:

conda install -c conda-forge keras=2.0.2 

然後我現在可以進口keras的蟒蛇。但問題是,它總是使用Theano後端。我試圖改變這一點,但不知道如何去做。

我也嘗試編輯文件〜/ .keras,但實際上默認後端已經是tensorflow了。

請幫助..非常感謝!

回答

21

這是因爲keras暢達鍛包放入${CONDA_PREFIX}/etc/conda/activate.d/keras_activate.sh一個文件,設置環境變量KERAS_BACKEND

(root) [[email protected] ~]# 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 
+0

嗨@nehal,謝謝你!你說的解決方法正在工作。但我試圖找到keras_activate.sh。但是** $ {CONDA_PREFIX}/etc/**中沒有** conda/**。這是我的ls:'dbus-1/fish/fonts/jupyter/rc.d /' –

+0

@TaiChristian搜索keras_activate.sh。 '找到$ CONDA_PREFIX | grep keras_activate.sh' –

+2

只要注意失去的靈魂,這也適用於Windows,但是您的命令是「echo%CONDA_PREFIX%」和「set KERAS_BACKEND = tensorflow」。 – FvD

2

當初從conda-forge安裝keras後出現同樣的問題。 keras.json已經有tensorflow:

{ 
    "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 

and theanoano to tensorflow:

set "KERAS_BACKEND=tensorflow" 
+0

謝謝!可以成爲使用Windows的人的答案:3 –

0

遇到過類似問題,看來如果~/.keras/keras.json不可訪問,keras使用/tmp/.keras/keras.json

0

雖然這似乎有點工作,如果你使用暢達ENVS我一樣多,我在那裏有Tensorflow環境和Theano分開。每次激活時都會減少大量重複設置和取消環境變量的設置。

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

根據暢達ENVS頁。

1)找到了暢達環境的目錄在終端窗口中,如

/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 
2

在多用戶安裝在Windows 10的蟒蛇環境激活文件是:

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

只要改變<user name><environment name>相匹配。

相關問題