切换视频源:

兼容 backend

作者: 刘思成 编辑: 莫烦 2016-10-29

学习资料:

我们来介绍 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分享的原因。 通过 【赞助】 能及时让我看到你对 【莫烦态度】 的认同,我也更有理由坚持下去。

如果你当前目标是找工作或者转行AI,想接受更加丰富的教学资源、培训辅导体验,我想推荐我的朋友 七月在线 给你, 通过这个 【莫烦Python为你提供的注册链接】, 你将可以获得莫烦专门为你协商的课程优惠券。祝你找/换工作顺利~