兼容 backend
学习资料:
- backend 说明
我们来介绍 Keras 的两个 Backend,也就是Keras基于什么东西来做运算。Keras 可以基于两个Backend,一个是 Theano,一个是 Tensorflow。如果我们选择Theano作为Keras的Backend, 那么Keras就用 Theano 在底层搭建你需要的神经网络;同样,如果选择 Tensorflow 的话呢,Keras 就使用 Tensorflow 在底层搭建神经网络。
目前 Tensorflow 支持 Mac 和 Linux 系统,而 Theano 不但支持包括 Mac 和 Linux,还支持 Windows 系统, 所以我们就可以选择自己可以用的 Backend 就可以。
如何看当前使用的是什么Backend ¶
每次当我们import keras
的时候,就会看到屏幕显示当前使用的 Backend
import keras
Using Theano Backend
这就说明现在使用的是Theano在作Backend。
如何修改Backend ¶
~/.keras/keras.json
文件内容:
{
"image_dim_ordering": "tf",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "theano"
}
每次import
的时候,keras 就会检查这个 keras.json
文件。一般我们以为,如果需要把 Backend 改成 Tensorflow 的话,只需要改动最后一行backend
对应的值,修改后的文件内容:
{
"image_dim_ordering": "tf",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}
但这样修改后,import
的时候会出现错误信息。
解决的方法有几种:
- 可以在其他文本编辑器内编辑好这段文本,然后整体拷贝到这个文件里。
- 还可以在terminal中直接输入临时环境变量执行
# python2+输入:
KERAS_BACKEND=tensorflow python -c "from keras import backend"
# python3+输入:
KERAS_BACKEND=tensorflow python3 -c "from keras import backend"
- 最好的解决方法,还是在python代码中
import keras
前加入一个环境变量修改的语句:
import os
os.environ['KERAS_BACKEND']='theano'
这时import keras
就会显示Using Theano backend
。
如果语句改为:
import os
os.environ['KERAS_BACKEND']='tensorflow'
这时import keras
就会显示Using Tensorflow backend
。
第三种修改影响的范围是仅这个脚本内,所以其他文件的执行Keras还是会去找keras.json
配置文件来确定用什么backend
。
降低知识传递的门槛
莫烦很常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛。 免费 奉献我的所学正是受这种态度的影响。 通过 【赞助莫烦】 能让我感到认同,我也更有理由坚持下去。
想当算法工程师拿高薪?转行AI无门道?莫烦也想祝你一臂之力,市面上机构繁杂, 经过莫烦的筛选,七月在线脱颖而出, 莫烦和他们合作,独家提供大额 【培训优惠券】, 让你更有机会接触丰富的教学资源、培训辅导体验, 祝你找/换工作/学习顺利~