首页 文章

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

提问于
浏览
19

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

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

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

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

有人可以帮忙吗?谢谢!

11 回答

  • 30

    看完keras来源(this place):

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

    import os
    print(os.path.expanduser('~'))
    # >>> C:\\Users\\Sascha'  # will look different for different OS
    
    • 这应该是基目录

    • Keras将在那里 keras.json Build 一个文件夹 .keras (如果它已经创建) . 如果它不存在,那就在那里创建它

    • 示例: C:\\Users\\Sascha\\.keras\\keras.json'

  • 2

    在Ubuntu的情况下,以下为我工作:

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

    • 查看 - >显示隐藏文件或

    • 按ctrl H.

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

  • 0

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

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

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

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

  • 6

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

    如果你想更改配置,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")
    
  • 1

    只是添加这篇内容丰富的帖子 . 我正在使用anaconda来完成我的任务 . 通过我的anaconda python导入keras . 所以keras安装进去了

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

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

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

    希望它能帮助那些可能有类型问题的人 .

  • 0

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

    ls –a
    

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

    mkdir .keras
    

    然后使用创建文件

    touch keras.json
    

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

    此过程在this video中完全涵盖 .

  • 7

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

  • 5

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

    %USERPROFILE%/.keras/keras.json
    

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

  • 0

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

    sudo vi $HOME/.keras/keras.json
    

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

    sudo gedit $HOME/.keras/keras.json
    
  • 1

    你可以直接用,

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

    要么

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

相关问题