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

时间:2017-02-11 15:32:24

标签: backend theano keras

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

8 个答案:

答案 0 :(得分:36)

在您的主目录中创建一个.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

答案 1 :(得分:24)

如果您想永久更改配置,可在此处使用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")

答案 2 :(得分:10)

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

{
“backend”: “tensorflow”,
“floatx”: “float32”,
“epsilon”: 1e-07
}

或多或少。 替换' tensorflow'与' theano'。并保存文件。

答案 3 :(得分:9)

我有一个问题,在我将后端设置为theano之前我根本无法 // Add a pipe on the screen add_one_pipe: function(x, y) { // Get the first dead pipe of our group var pipe = this.pipes.getFirstDead(); // Set the new position of the pokeballs pipe.reset(x, y); // Add velocity to the pokeballs to make it move left pipe.body.velocity.x = -200; // Kill the pokeballs when it's no longer visible pipe.outOfBoundsKill = true; }, **add_row_of_pipes: function() { var hole = Math.floor(Math.random()*5)+1;** **for (var i = 0; i < 8; i++) if (i != hole && i != hole +1) this.add_one_pipe(400, i*60+10);** 。如果您可以导入后端,则提供的答案应该有效,但如果没有,只需使用:

from keras import backend

答案 4 :(得分:5)

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

function numberGameAtA30() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet2 = SpreadsheetApp.setActiveSheet(ss.getSheetByName('GAMES2')); // start columns and rows var currentRow = 29 var startColumn = 0; var numRows = 8; var numColumns = 1; var data = sheet2.getRange(1,1,sheet2.getMaxRows(),sheet2.getMaxColumns()).getValues(); Logger.log(data); // ranges where values will be placed for(i = 1;i <= 50;i++){ data[currentRow][startColumn] = i; currentRow = currentRow + 8; } sheet2.getRange(1,1,data.length,data[0].length).setValues(data); }

答案 5 :(得分:4)

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")

答案 6 :(得分:0)

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

%USERPROFILE%/.keras/keras.json

更改打开的文本文件中的后端并保存。你完成了。

答案 7 :(得分:-1)

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

ls –a 

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

创建目录
mkdir .keras

然后使用

创建文件
touch keras.json 

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

this video完全涵盖了此过程。