繁体   English   中英

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

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

我已经安装了Keras,并希望将后端切换到Theano。 我查看了这篇文章 ,但仍然不知道在哪里放置创建的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的模块

有人可以帮忙吗? 谢谢!

看完keras来源( 这个地方 ):

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

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'

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

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

  • 查看 - >显示隐藏文件或
  • 按ctrl + H.

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

找不到你的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

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

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

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

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

    ls –a 

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

    mkdir .keras

然后用。创建文件

    touch keras.json 

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

视频中完整介绍了此过程。

你可以直接用,

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

要么

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

最简单的解决方案

Google的TensorFlow是keras的默认后端,但是例如,如果你想用theano更改它,那么首先通过在python shell中导入它来检查你想要使用的备用后端是否已成功安装:

导入theano作为th

如果它工作正常

第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

将keras导入为kd

官方Keras文档可能会帮助您。 链接显示如何更改Keras的后端。 你必须将'/ .keras / keras.json从'后端':'tensorflow'改为'backend':'theano'。

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

%USERPROFILE%/.keras/keras.json

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

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

sudo vi $HOME/.keras/keras.json

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

sudo gedit $HOME/.keras/keras.json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM