【发布时间】:2017-06-29 21:07:44
【问题描述】:
我尝试使用 Keras 切换后端(从 TensorFlow 到 Theano),但没有成功。 我遵循here 描述的临时工,但它不起作用。我在 keras 的目录中创建了一个 keras.json(因为它不存在),但是当我从 Python 导入它时它并没有改变任何东西。
【问题讨论】:
我尝试使用 Keras 切换后端(从 TensorFlow 到 Theano),但没有成功。 我遵循here 描述的临时工,但它不起作用。我在 keras 的目录中创建了一个 keras.json(因为它不存在),但是当我从 Python 导入它时它并没有改变任何东西。
【问题讨论】:
在您的主目录中创建一个.keras(注意前面的.)文件夹并将keras.json 文件放在那里。
例如,/home/DaniPaniz/.keras/keras.json(或简称为~/.keras/keras.json)如果您使用的是类 UNIX 系统(MacOS X、Linux、*BSD)。在 Windows 上,您要创建文件夹 %USERPROFILE%/.keras 并将 JSON 文件放在那里。
或者,你也可以设置环境变量KERAS_BACKEND:
KERAS_BACKEND=theano python mymodel.py
【讨论】:
keras之前加上import os; os.environ['KERAS_BACKEND'] = 'theano'
如果您想永久更改配置,可以在此处获取 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")
【讨论】:
import importlib; importlib.reload(K)
importlib 库的reload 函数)后端没有为我动态更改。任何关于如何克服这个问题的想法都非常感谢。 @Wmol @Demitri
在命令提示符下输入以下内容并回车:
%USERPROFILE%/.keras/keras.json
在打开的文本文件中更改后端并保存。你完成了。
【讨论】:
对于 Linux 系统,隐藏的 .keras 目录将在用户的主目录中创建。要观察它是否已创建,请从您的主目录运行以下命令(-a 允许您查看隐藏的文件和目录)。
ls –a
如果目录在那里,则 cd 进入并修改 keras.json 文件。如果不存在,则使用
创建目录mkdir .keras
然后创建文件
touch keras.json
然后编辑该文件以进行您引用的配置更改,以将后端引擎更改为 Theano。
this video 全面介绍了此过程。
【讨论】:
在 Windows 中,您需要在 C 盘中找到 .keras 文件夹。很可能,它将位于 C:/users/username/ 中的某个位置。在那里你会找到 .keras 文件夹,它包含一个 json 文件,keras.json,打开它。 你会看到:
{
“backend”: “tensorflow”,
“floatx”: “float32”,
“epsilon”: 1e-07
}
或多或少。 将“tensorflow”替换为“theano”。并保存文件。
【讨论】:
from keras import backend as K
from os import environ
# user defined function to change keras backend
def set_keras_backend(backend):
if K.backend() != backend:
environ['KERAS_BACKEND'] = backend
reload(K)
assert K.backend() == backend
# call the function with "theano"
set_keras_backend("theano")
【讨论】:
keras.json 文件。因此,找到该文件并进行相应的更改。
我遇到了一个问题,在我将后端设置为 theano 之前,我根本无法 from keras import backend。如果您可以导入后端,则提供的答案应该有效,但如果不能,请使用:
import os
os.environ['KERAS_BACKEND'] = 'theano'
import keras as ks
# Using Theano backend.
【讨论】:
如果您使用的是 Windows,则可以从命令行运行:
set "KERAS_BACKEND=theano"
【讨论】:
Termux - Android 11 - 最后与 H5py 3.4.0 凯拉斯 2.2.0 Theano 1.0.5 Numpy 1.17.5
我发现包在构建和 --update 时有时不会安装。 ***** 您需要手动卸载/安装。 ..我喜欢
【讨论】: