[英]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中看到隐藏文件
您现在可以在主目录中看到'.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()
“
对于那些打开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个文件夹: keras
& Keras-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.