2017-02-11 23 views
12

Keras(TensorFlowからTheanoへ)でバックエンドを切り替えようとしましたが、管理しませんでした。 私はhereと記載されているtempsに従っていますが、動作しません。ケラスのディレクトリにkeras.jsonを作成しましたが(存在しなかったので)、Pythonからインポートすると何も変更されません。Keras(TensorFlowからTheanoへ)からバックエンドに切り替える方法

答えて

14

ホームディレクトリに.keras(前に.と記載)フォルダを作成し、そこにkeras.jsonファイルを作成します。

たとえば、UNIXシステム(MacOS X、Linux、* BSD)を使用している場合は、/home/DaniPaniz/.keras/keras.json(または~/.keras/keras.json)です。 Windowsでは、%USERPROFILE%/.kerasというフォルダを作成し、そこにJSONファイルを配置します。

はまた、あなたはまた、環境変数KERAS_BACKEND設定することができます~/.keras/keras.json、あなたはバックエンドを変更することができます:あなたが永続的に設定を変更したい場合には

KERAS_BACKEND=theano python mymodel.py 
9

を、JSONはここにあります。 python 2.7で動的にこれを行うには

次のコマンドを実行します。開いたテキストファイルに

%USERPROFILE%/.keras/keras.json 

変更のバックエンドとそれを保存:入力したコマンドプロンプトとプレスで次種類

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

機能リロードISNを私のマシンで知られていません – CAFEBABE

+1

あなたがpython 3を使っているなら、reloadは組み込みではありません。 python 3でreloadを使用するには:https://stackoverflow.com/a/961219 – Wmol

+0

ファイルを指摘するためのBIG +1が〜/ .kerasにあります – StatsSorceress

1

を。あなたは完了です。

-2

Linuxシステムの場合、非表示の.kerasディレクトリがユーザーのホームディレクトリに作成されます。作成されているかどうかを確認するには、ホームディレクトリから次のコマンドを実行します(-aを指定すると、隠しファイルとディレクトリが表示されます)。

ls –a 

ディレクトリがある場合は、そのディレクトリにcdしてkeras.jsonファイルを変更します。それはそこにない場合は、

mkdir .keras 

のディレクトリを作成した後、あなたがTheanoにバックエンドのエンジンを変更するために、参照設定変更を行うために、ファイルを編集し

touch keras.json 

でファイルを作成します。

このプロセスは、this videoで完全にカバーされています。

4

Windowsでは、Cドライブに.kerasフォルダが必要です。おそらく、それはC:/ users/username/のどこかにあります。そこに.kerasフォルダがあり、それにはjsonファイルkeras.jsonが含まれています。 あなたは、表示されます。

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

多かれ少なかれ。 'tensanoflow'を 'theano'に置き換えます。を入力してファイルを保存します。

1
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") 
+0

これがどのように問題を解決するか説明してください。 –

+0

@StephenRauchケラスをインポートすると、デフォルトのバックエンドとして "tensorflow"が選択されます。あなたが "theano"に切り替える必要がある場合、上記の行はその仕事をします。 –

0

私はtheanoにバックエンドを設定していないfrom keras import backend全くことができるまで問題がありました。提供の答えは、あなたがバックエンドをインポートすることができた場合に動作しますが、ない場合は、単に使用する必要があります:あなたは窓を使用している場合

import os 
os.environ['KERAS_BACKEND'] = 'theano' 
import keras as ks 
# Using Theano backend. 
0

あなたはコマンドラインから実行することができます

set "KERAS_BACKEND=theano"

関連する問題