我正在尝试在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
?
答案 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
您可以通过以下方式解决问题:
keras
和keras-gpu
,然后
用conda install -c defaults keras
安装keras:
非conda-forge版本的keras似乎没问题。我的机器上没有找到任何这些环境设置。pip install keras
:删除当前安装的keras
和keras-gpu
,然后仅安装python包。