如何使用Keras切换后端(从TensorFlow切换到Theano)

Dan*_*niz 42 backend theano keras

我试图用Keras切换Backend(从TensorFlow切换到Theano)但是没有管理.我按照这里描述的临时措施,但它不起作用.我在keras的目录中创建了一个keras.json(因为它不存在)但是当我从Python导入它时它没有改变任何东西.

nem*_*emo 42

在您的主目录中创建一个.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
Run Code Online (Sandbox Code Playgroud)

  • 你也可以把`import os; 在导入`keras`之前,os.environ ['KERAS_BACKEND'] ='theano' (18认同)

Sha*_*gla 28

如果您想永久更改配置,可以在此处使用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")
Run Code Online (Sandbox Code Playgroud)

  • Python >= 3.4: `导入 importlib; 导入lib.reload(K)` (3认同)
  • 我的机器上不知道该函数的重载 (2认同)
  • 如果您使用的是python 3,则reload不是内置的。要在python 3中使用reload:https://stackoverflow.com/a/961219 (2认同)

Eng*_*ero 16

在我from keras import backend将后端设置为theano之前,我遇到了一个根本无法解决的问题.如果您可以导入后端,则提供的答案应该有效,但如果没有,只需使用:

import os
os.environ['KERAS_BACKEND'] = 'theano'
import keras as ks
# Using Theano backend.
Run Code Online (Sandbox Code Playgroud)


小智 12

在Windows中,您需要在C盘中找到.keras文件夹.最有可能的是,它将位于C:/ users/username /中.在那里你会找到.keras文件夹,它包含一个json文件,keras.json,打开它.你会看见:

{
“backend”: “tensorflow”,
“floatx”: “float32”,
“epsilon”: 1e-07
}
Run Code Online (Sandbox Code Playgroud)

或多或少. 用'theano'替换'tensorflow'.并保存文件.


sha*_*r_m 6

如果您使用的是Windows,则可以从命令行运行:

set "KERAS_BACKEND=theano"


Haf*_*man 5

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")
Run Code Online (Sandbox Code Playgroud)