返回介绍

兼容 backend

发布于 2025-05-02 13:36:26 字数 2154 浏览 0 评论 0 收藏

作者: 刘思成 编辑: Morvan

我们来介绍 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

如果你觉得这篇文章或视频对你的学习很有帮助,请你也分享它,让它能再次帮助到更多的需要学习的人。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。