1、 问题描述
在 windows 上我们可能要安装多个版本的 keras , 而且使用的后端还可能不一样,但是根据官网文档,修改 keras 后端的方法如下:
当电脑上安装超过两个 keras 时,这些 keras 的配置文件都是同一个, 即$HOME/.keras/keras.json。因此,如果我们要同时运行两个不同后端的 keras ,我们就需要不停地修改 keras.json。
2、问题分析
为什么不同版本的 keras 指向的是同一个配置文件呢?这要从keras 的源码说起。在 keras\backend\__init__.py
中,有如下代码,该代码生成了 存放 keras.json 的文件夹,此后,一旦 keras 开始运行,就会从中这个文件夹中查询 keras.json 配置。
对于不同版本的 keras, 这里设置的默认路径都一样,因此这些不同版本的 keras 就会在同一个 keras.json 中查询配置。
3、问题解决
根据 2 中的分析,如果我们要使用多个不同版本的 keras ,甚至是在不同 python 版本下的 keras ,最简单的办法就是修改 keras\backend\__init__.py
中默认路径。
4、示例验证
本次实验的环境如下:
- platform : win10
- keras 1 : python 2.7 ; keras 2.1.1 ; keras backend = “theano”
- keras 2 : python 3.6 ; keras 2.1.1 ; keras backend = “tensorflow”
分别修改两个 keras 中的 keras\backend\__init__.py
- python 2.7 ; keras 2.1.1 ; keras backend = “theano”
- python 3.6 ; keras 2.1.1 ; keras backend = “tensorflow”
分别运行 keras 后,在 $HOME 下生成了两个文件夹
然后就可以愉快地使用不同版本的 keras 啦~