如何更改 Keras 后端(json 文件在哪里)?

How to change Keras backend (where's the json file)?

我安装了Keras,想把后端换成Theano。我查看了 ,但仍然不知道将创建的 json 文件放在哪里。另外,下面是我在 运行 import keras in Python Shell:

时得到的错误

Using TensorFlow backend.

Traceback (most recent call last): File "", line 1, in import keras File "C:\Python27\lib\site-packages\keras__init__.py", line 2, in from . import backend File "C:\Python27\lib\site-packages\keras\backend__init__.py", line 64, in from .tensorflow_backend import * File "C:\Python27\lib\site-packages\keras\backend\tensorflow_backend.py", line 1, in import tensorflow as tf ImportError: No module named tensorflow

当从 Windows 命令行 运行 python -c "import keras; print(keras.__version__)" 时,我得到:

Using TensorFlow backend. Traceback (most recent call last): File "", line 1, in File "C:\Python27\lib\site-packages\keras__init__.py", line 2, in from . import backend File "C:\Python27\lib\site-packages\keras\backend__init__.py", line 64, in from .tensorflow_backend import * File "C:\Python27\lib\site-packages\keras\backend\tensorflow_backend.py", line 1, in import tensorflow as tf ImportError: No module named tensorflow

有人可以帮忙吗?谢谢!

查看 keras 资源后 (this place):

启动您的 python-二进制文件并执行以下操作

import os
print(os.path.expanduser('~'))
# >>> C:\Users\Sascha'  # will look different for different OS
  • 这应该是基本目录
  • Keras 将在 keras.json 所在的位置构建文件夹 .keras(如果已创建)。如果不存在,请在那里创建它
  • 示例:C:\Users\Sascha\.keras\keras.json'

Keras 官方文档可能对您有所帮助。 link 展示了如何更改 Keras 的后端。您必须将 ~/.keras/keras.json 从 'backend': 'tensorflow' 更改为 'backend': 'theano'.

在 Ubuntu 的情况下,以下对我有用:

“.keras”文件夹存在于您的主目录中,但是 hidden.So,您需要取消隐藏主目录中的隐藏文件。 您可以通过

查看Ubuntu中的隐藏文件
  • 查看-> 显示隐藏文件或
  • 按 ctrl+H。

您现在可以在您的主页中看到“.keras”文件夹 directory.Inside 该文件夹,您将看到 'keras.json' 文件,您可以修改该文件以将 keras 后端切换到 theano 根据官方文档 https://keras.io/backend/

"找不到您的 keras.json 文件?: Windows
在大多数系统上,只有打开 Python shell 并直接导入 keras 包本身,才会创建 keras.json 文件(以及关联的 sub-directories)。

如果您发现系统中不存在 ~/.keras/keras.json 文件,只需打开 shell,(可选)访问您的 Python虚拟环境(如果你使用的是虚拟环境),然后导入Keras:

$ workon keras_tf
$ python
>>> import keras
>>> quit()

引用自:keras-with-tensorflow/theano-backend

对于 python shell 开放的人:

import os

with open(os.path.expanduser('~')+'\.keras\keras.json','w') as f:
    new_settings = """{\r\n
    "epsilon": 1e-07,\r\n
    "image_data_format": "channels_last",\n
    "backend": "theano",\r\n
    "floatx": "float32"\r\n
    }"""
    f.write(new_settings)

import keras

如果您想更改配置,json 可在此处获得:~/.keras/keras.json

要在 python 2.7 中动态执行此操作,您可以 运行:

from keras import backend as K
import os

def set_keras_backend(backend):

    if K.backend() != backend:
        os.environ['KERAS_BACKEND'] = backend
        reload(K)
        assert K.backend() == backend

set_keras_backend("theano")

只是为了添加此信息 post。我正在使用 anaconda 来完成我的任务。并通过我的 anaconda python 导入了 keras。所以 keras 安装在

C:\Users\username\AppData\Local\Continuum\Anaconda3\Lib\site-packages

站点包中有 2 个文件夹:keras & Keras-1.0.8.dist-info

Keras-1.0.8.dist-info 中,有一个名为 metadata.json 的文件。这默认有 "Theano" 作为后端。因此,如果您将其更改为 tensorflow,您将获得 tensoflow 后端。

希望它能对遇到此类问题的人有所帮助。

键入以下内容并在命令提示符下按回车键:

%USERPROFILE%/.keras/keras.json

在打开的文本文件中更改后端并保存。

对于Linux系统,将在用户的主目录中创建隐藏的.keras目录。要观察它是否已创建,运行 从您的主目录执行以下命令(-a 允许您查看隐藏的文件和目录)。

    ls –a 

如果该目录存在,则 cd 进入该目录并修改 keras.json 文件。如果不存在,则使用

创建目录
    mkdir .keras

然后用

创建文件
    touch keras.json 

然后编辑文件以进行您引用的配置更改,以将后端引擎更改为 Theano。

此过程在 this video 中有完整介绍。

在ubuntu中您可以使用此命令在vi编辑器中打开keras.json文件并编辑和保存

sudo vi $HOME/.keras/keras.json

或使用以下命令在 gedit 中打开

sudo gedit $HOME/.keras/keras.json

可以直接使用,

import os
os.environ['KERAS_BACKEND']='theano'

os.environ['KERAS_BACKEND']='tensorflow'

最简单的解决方案:

Google 的 TensorFlow 是 keras 的默认后端但是例如如果你想用 theano 改变它然后 首先通过在 python shell:

中导入来检查您希望使用的备用后端是否已成功安装

import theano as th

如果没问题的话

第二步:如果你已经在virtualenv中安装了keras,theano,那么进入virtualenv目录

例如virtualenv/virtual/lib/python2.7/site-packages/keras/backend/

打开初始化.py 更改第 27 行

Default backend: TensorFlow.
_BACKEND = 'theano'

就是这样

打开pythonshell 并导入 keras

import keras as kd