本文简单介绍 Keras 的两个 Backend,也就是Keras基于什么东西来做运算。Keras 可以基于两个Backend,一个是 Theano,一个是 Tensorflow。如果我们选择Theano作为Keras的Backend, 那么Keras就用 Theano 在底层搭建你需要的神经网络;同样,如果选择 Tensorflow 的话呢,Keras 就使用 Tensorflow 在底层搭建神经网络。
目前 Tensorflow 支持 Mac 和 Linux 系统,但仅支持windows系统python3.5,而 Theano 不但支持包括 Mac 和 Linux,还支持 Windows 系统, 所以我们就可以选择自己可以用的 Backend 就可以。
查看目前所使用的backend
import keras #每次当我们import keras的时候,就会看到屏幕显示当前使用的 Backend
Using Theano Backend
修改Backend
找到这个文件~/.keras/keras.json
{ # keras.json文件内容
"image_dim_ordering": "tf",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "theano"
}
直接修改"backend": "theano"为"backend": "tensorflow",在import时会出现错误,解决方法:
1.可以在其他文本编辑器内编辑好这段文本,然后整体拷贝到这个文件里。
2.还可以在terminal中直接输入临时环境变量执行,如下所示:
# python2+输入:
KERAS_BACKEND=tensorflow python -c "from keras import backend"
# python3+输入:
KERAS_BACKEND=tensorflow python3 -c "from keras import backend"
3.最好的解决方法,还是在python代码中import keras前加入一个环境变量修改的语句:
import os
os.environ['KERAS_BACKEND']='theano'
这时import keras就会显示Using Theano backend。同理,可以修改backend为tensorflow
** 第三种修改影响的范围是仅这个脚本内,所以其他文件的执行Keras还是会去找keras.json配置文件来确定用什么backend。**