配置Keras使用Tensorflow而不是Theano

时间:2017-10-04 19:04:31

标签: tensorflow keras conda

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

我还尝试使用keras上常规的非GPU conda执行这些步骤。

我得到的问题是我的backend中的keras.json选项正在被读取(因为无效的值会引发异常),但被一个获取{{1}的环境变量所取代由Anaconda本人编辑 - 根据export,有几个例子:

grep

...分散在export KERAS_BACKEND=tensorflow export KERAS_BACKEND=theano

中的多个文件中

我对手动编辑这些文件犹豫不决,因为它们会被包管理器自动放到那里,但我也想避免在每个会话开始时明确指定~/miniconda3/pkgs/keras-2.0.2-py36_1/,我想避免涉及KERAS_BACKEND=tensorflow等工具的解决方案。

默认情况下如何让direnv conda keras使用tensorflow

1 个答案:

答案 0 :(得分:1)

问题可能出在conda-forge 上keras package activate.sh文件中。此文件中的export语句是不必要的,应该删除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

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

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