兼容 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
。
分享到:
如果你觉得这篇文章或视频对你的学习很有帮助, 请你也分享它, 让它能再次帮助到更多的需要学习的人.
UnityTutorial没有正式的经济来源, 如果你也想支持 UnityTutorial 并看到更好的教学内容, 赞助他一点点, 作为鼓励他继续开源的动力.