How to change Keras backend (where's the json file)?
我已经安装了Keras,并希望将后端切换到Theano。 我查看了这篇文章,但仍然不知道在哪里放置创建的json文件。 另外,下面是我在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, infrom .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命令行运行
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, infrom .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来源(这个地方):
启动你的python-binary并执行以下操作
1 2 3 | import os print(os.path.expanduser('~')) # >>> C:\\Users\\Sascha' # will look different for different OS |
- 这应该是基目录
-
Keras将在
.keras 所在的位置构建一个文件夹.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:
1 2 3 4 | $ workon keras_tf $ python >>> import keras >>> quit() |
"
参考自:keras-with-tensorflow / theano-backend
对于那些打开python shell的人:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import os with open(os.path.expanduser('~')+'\\.keras\\keras.json','w') as f: new_settings ="""{ "epsilon": 1e-07, "image_data_format":"channels_last", "backend":"theano", "floatx":"float32" }""" f.write(new_settings) import keras |
如果您想更改配置,可在此处使用json:
要在python 2.7中动态执行此操作,您可以运行:
1 2 3 4 5 6 7 8 9 10 11 | 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") |
最简单的解决方案
谷歌的TensorFlow是keras的默认后端,但是例如,如果你想用theano更改它
首先通过在python shell中导入来检查您希望使用的备用后端是否已成功安装:
import theano as th
BLOCKQUOTE>
如果它工作正常
第2步:如果你已经安装了keras,virtualenv中的theano然后转到virtualenv目录
例如virtualenv / virtual / lib / python2.7 / site-packages / keras / backend /
打开init.py
改变第27行
1
2 Default backend: TensorFlow.
_BACKEND = 'theano'就是这样
打开python shell
并导入kerasimport keras as kd
BLOCKQUOTE>
你可以直接用,
1
2 import os
os.environ['KERAS_BACKEND']='theano'要么
1 os.environ['KERAS_BACKEND']='tensorflow'
对于Linux系统,隐藏的.keras目录将在用户的主目录中创建。要观察是否已创建,请从主目录运行以下命令(-a允许您查看隐藏的文件和目录)。
1 ls –a如果目录在那里,则cd进入它并修改keras.json文件。如果不存在,则使用创建目录
1 mkdir .keras然后用。创建文件
1 touch keras.json然后编辑该文件以使您引用的配置更改将后端引擎更改为Theano。
此视频中完整介绍了此过程。
只是添加这篇内容丰富的帖子。我正在使用anaconda来完成我的任务。并通过我的anaconda python导入keras。所以keras安装进去了
1 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,您将获得数十个后端。希望它能帮助那些可能有类型问题的人。
在ubuntu中,您可以使用此命令在vi编辑器中打开keras.json文件并进行编辑和保存
1 sudo vi $HOME/.keras/keras.json或使用以下内容在gedit中打开
1 sudo gedit $HOME/.keras/keras.json
键入以下内容并在命令提示符下按Enter键:
1 %USERPROFILE%/.keras/keras.json更改打开的文本文件中的后端并保存。
官方Keras文档可能会帮助您。此链接显示如何更改Keras的后端。你必须将'/ .keras / keras.json从'后端':'tensorflow'改为'backend':'theano'。