keras backendを変更する方法
1310 ワード
方法1
このうちbackendは
しかし、backendを切り替えるたびに手動でこのファイルを修正する必要があるという弊害がありますので、動的に修正できる方法があるほうがいいのではないでしょうか.次の方法を見てください.
方法2
まずosライブラリにロードし、kerasのbackendをtensorflowに変更し、kerasのbackendをロードし、orderをtensorflowフォーマットに設定します.
ここで私は自分のコードの中でバージョンを変えることができないことを発見して、それからreloadを調べることができます
PS:なぜreload(sys)が必要なのか.まずreloadは、以前のimportを再ロードするためのモジュールです.
ここでsysを再ロードする必要があるのは、pythonがモジュールをロードするときにsysのsetdefaultencodingメソッドを削除したため(安全のためかもしれません)、reloadというsysモジュールが必要です.
ここで簡単な例を挙げます.例えば、kerasのバックエンドを変更し、tensorflowからtheanoに変更し、変更後にkerasのbackendモジュールを再ロードして修正に成功する必要があります.
users
フォルダの下に.keras
フォルダを新規作成し、フォルダの下にkeras.json
ファイルを新規作成します.jsonの内容は次のとおりです.{
"image_dim_ordering": "tf",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}
このうちbackendは
tensorflow
またはtheano
であり、もちろんインストールされていることを前提としています.しかし、backendを切り替えるたびに手動でこのファイルを修正する必要があるという弊害がありますので、動的に修正できる方法があるほうがいいのではないでしょうか.次の方法を見てください.
方法2
import os
os.environ['KERAS_BACKEND'] = 'tensorflow'
import keras.backend as K
K.set_image_dim_ordering('tf')
まずosライブラリにロードし、kerasのbackendをtensorflowに変更し、kerasのbackendをロードし、orderをtensorflowフォーマットに設定します.
ここで私は自分のコードの中でバージョンを変えることができないことを発見して、それからreloadを調べることができます
import os
os.environ['KERAS_BACKEND']='theano'
import keras.backend as K
K.set_image_dim_ordering('th')
import importlib
importlib.reload(K)
PS:なぜreload(sys)が必要なのか.まずreloadは、以前のimportを再ロードするためのモジュールです.
ここでsysを再ロードする必要があるのは、pythonがモジュールをロードするときにsysのsetdefaultencodingメソッドを削除したため(安全のためかもしれません)、reloadというsysモジュールが必要です.
ここで簡単な例を挙げます.例えば、kerasのバックエンドを変更し、tensorflowからtheanoに変更し、変更後にkerasのbackendモジュールを再ロードして修正に成功する必要があります.