keras修改backend的方法

方法1

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模块才能修改成功。

猜你喜欢

转载自blog.csdn.net/lrt366/article/details/81226257