keras修改backend的方法

本文介绍了两种在Python中动态切换Keras后端的方法。第一种是在用户的文件夹下创建.keras文件夹,并在其中放置一个配置文件来指定后端类型。第二种方法则是通过os库动态设置环境变量并重新加载Keras的后端模块来实现后端的切换。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

catbird233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值