配置Keras使用Tensorflow而不是Theano

我正在尝试在Anaconda virtualenv下配置Keras安装,所有这些都在Ubuntu 17.04下运行.我已经通过conda安装了keras-gpu,并通过运行
python -c’import keras’生成了一个bootstrap~ / .keras目录;最后,我在该目录中更新了我的keras.json,以包含tensorflow作为后端而不是theano.

我也尝试过在conda上使用常规非GPU keras的那些步骤.

我得到的问题是我的keras.json中的后端选项正在读取(因为无效值会引发异常),但是被Anaconda本身导出的环境变量所推翻 – 根据grep,有一个几个例子:

export KERAS_BACKEND=tensorflow
export KERAS_BACKEND=theano

…分散在〜/ miniconda3 / pkgs / keras-2.0.2-py36_1 /中的许多文件中.

我对手动编辑这些文件犹豫不决,因为它们会被包管理器自动放到那里,但我也想避免在每个会话开始时明确指定KERAS_BACKEND = tensorflow,我想避免涉及像direnv.

如何让conda的keras默认使用tensorflow?

最佳答案 问题可能出在conda-forge上
keras package的文件activate.sh中.此文件中的导出语句是不必要的,应该删除IMO.没有理由限制Linux用户使用theano作为Keras后端(或Mac OSX的TensorFlow).

#!/bin/bash
if [ "$(uname)" == "Darwin" ]
then
    # for Mac OSX
    export KERAS_BACKEND=tensorflow
elif [ "$(uname)" == "Linux" ]
then
    # for Linux
    export KERAS_BACKEND=theano
fi

您可以通过以下方式解决问题:

>从activate.sh中删除这些环境设置.
>删除当前安装的keras和keras-gpu,然后
使用conda install安装keras -c defaults keras:the
非conda-forge版本的keras似乎没问题.我在我的机器上没有找到任何这些环境设置.
> pip install keras:删除当前安装的keras和keras-gpu,然后只安装python包.

点赞