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

时间:2016-10-28 17:11:59

标签: python command-line theano keras

我已经安装了Keras,并希望将后端切换到Theano。我检查了this post,但仍然不知道在哪里放置创建的json文件。另外,下面是我在Python Shell中运行import keras时得到的错误:

  

使用TensorFlow后端。

     

Traceback(最近一次调用最后一次):文件“”,第1行,in          import keras文件“C:\ Python27 \ lib \ site-packages \ keras__init __。py”,第2行,in       来自。导入后端文件“C:\ Python27 \ lib \ site-packages \ keras \ backend__init __。py”,第64行,in          来自.tensorflow_backend import *文件“C:\ Python27 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py”,   第1行,in       import tensorflow as tf ImportError:没有名为tensorflow的模块

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

  

使用TensorFlow后端。 Traceback(最近一次调用最后一次):文件   文件中的“”,第1行   “C:\ Python27 \ lib \ site-packages \ keras__init __。py”,第2行,in       来自。导入后端文件“C:\ Python27 \ lib \ site-packages \ keras \ backend__init __。py”,第64行,in          来自.tensorflow_backend import *文件“C:\ Python27 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py”,   第1行,in       import tensorflow as tf ImportError:没有名为tensorflow的模块

有人可以帮忙吗?谢谢!

12 个答案:

答案 0 :(得分:34)

查看了keras来源(this place):

启动你的python-binary并执行以下操作

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

答案 1 :(得分:10)

对于Ubuntu,以下内容对我有用:

'.keras'文件夹存在于您的主目录中,但是已隐藏。因此,您需要取消隐藏主目录中的隐藏文件。 您可以通过

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

您现在可以在主目录中看到'.keras'文件夹。在该文件夹中,您将看到'keras.json'文件,您可以修改该文件以将keras后端切换为 theano 根据官方文件https://keras.io/backend/

答案 2 :(得分:6)

找不到你的keras.json文件?:Windows
 在大多数系统上,在打开Python shell并直接导入keras包本身之前,不会创建keras.json文件(和相关的子目录)。

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

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

参考:keras-with-tensorflow/theano-backend

答案 3 :(得分:5)

对于那些打开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

答案 4 :(得分:2)

如果您想更改配置,可在此处使用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")

答案 5 :(得分:1)

只是添加这篇内容丰富的帖子。我使用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,您将获得数十个后端。

希望它能帮助那些可能会遇到类型问题的人。

答案 6 :(得分:1)

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

    ls –a 

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

创建目录
    mkdir .keras

然后使用

创建文件
    touch keras.json 

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

this video完全涵盖了此过程。

答案 7 :(得分:1)

最简单的解决方案:

Google的TensorFlow是keras的默认后端,但例如,如果您想用theano进行更改,则 首先,通过将其导入python shell中,来检查您要使用的备用后端是否已成功安装:

  
    

将theano导入为

  

如果效果很好

第2步:如果已安装keras,则在virtualenv中安装theano,然后转到virtualenv目录

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

打开 init .py 更改第27行

Default backend: TensorFlow.
_BACKEND = 'theano'

就这样

打开python shell 并导入keras

  
    

将喀拉拉邦输入为kd

  

答案 8 :(得分:0)

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

答案 9 :(得分:0)

键入以下内容,然后在命令提示符下按Enter:

%USERPROFILE%/.keras/keras.json

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

答案 10 :(得分:0)

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

sudo vi $HOME/.keras/keras.json

或使用以下内容在gedit中打开

sudo gedit $HOME/.keras/keras.json

答案 11 :(得分:0)

您可以直接使用

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

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