keras的backend 设置 tensorflow,theano操作


Posted in Python onJune 30, 2020

win7 系统环境安装步骤:

1.首先是安装Python,建议安装anaconda

2.安装完anaconda后打开anaconda promp命令行promp,输入conda list.

可以看到已经安装的库以及版本等信息,注意此时没有keras.

3.通过 conda install keras 或 pip install keras 直接安装。(会默认的给你安装keras最新版本和所需要的theano)

4.安装完成之后,就可以打开notebook,输入import keras 检查是否成功。

5.因为windows版本的tensorflow刚刚才推出,所以目前支持性不太好。

但是keras的backend 同时支持tensorflow和theano.

并且默认是tensorflow,因此在win本上需要更改backend为theano才能运行。

这是官网的配置文档:点击打开链接

如果已经运行过一次Keras,你将在下面的目录下找到Keras的配置文件:~/.keras/keras.json

如果该目录下没有该文件,你可以手动创建一个

将文件的默认配置如下:

C:\Users\Administrator>python
Python 2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jun 29 2016, 11:07:13) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import keras
Using TensorFlow backend.
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "C:\Anaconda2\lib\site-packages\keras\__init__.py", line 2, in <module>
 from . import backend
 File "C:\Anaconda2\lib\site-packages\keras\backend\__init__.py", line 68, in <module>
 from .tensorflow_backend import *
 File "C:\Anaconda2\lib\site-packages\keras\backend\tensorflow_backend.py", line 1, in <module>
 import tensorflow as tf
ImportError: No module named tensorflow
>>> import keras
Using Theano backend.
WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to execute optimized C-implementations (for both CPU and GPU) and will default to Python implementations. Performance will be severely degraded. To remove this warning, set Theano flags cxx to an empty string.

方法一:将C:\Anaconda2\Lib\site-packages\keras\backend\__init__.py的line 27修改

# Default backend: TensorFlow.
#_BACKEND = 'tensorflow'
_BACKEND = 'theano'

然后,python-> import keras

方法二: 出现 tensorflow提示错误的话,需要修改下面的位置的内容

C:\Users\Administrator\.keras\keras.json
{
"image_dim_ordering":"tf",
"epsilon":1e-07,
"floatx":"float32",
"backend":"tensorflow"
}

{
 "image_dim_ordering": "tf", 
 "epsilon": 1e-07, 
 "floatx": "float32", 
 "backend": "theano"
}

补充知识:keras修改backend.py,完成永久配置tensorflow-gpu调用方式

编写keras程序中出现了GPU的内存问题,需要调节keras预设的tensorflow设置参数,每次都必须单独设置gpu选项比较麻烦,可以设置keras下的tensorflow_backend.py实现永久配置keras。

本人的配置:ubuntu18.04+cuda10.0+cuda7.5.1+MX150+tensorflow-gpu1.13.1

初始设置中出现内存错误。

keras依赖的config文件位置

keras的配置文件在linux下在如下的地址中,在用户账户下的隐藏文件夹中.

// 一般的安装位置

~/.local/lib/python2.7/site-packages/keras/backend

使用文件编辑器(vim,vi,nano等)打开tensorflow_backend.py文件

// 一般在文件的180行左右,修改为如下
...
else:
    if _SESSION is None:
      if not os.environ.get('OMP_NUM_THREADS'):
        config = tf.ConfigProto(allow_soft_placement=True)
        config.gpu_options.allow_growth=True
        config.gpu_options.per_process_gpu_memory_fraction=0.9
      else:
        num_thread = int(os.environ.get('OMP_NUM_THREADS'))
        config = tf.ConfigProto(intra_op_parallelism_threads=num_thread,
                    allow_soft_placement=True)
        config.gpu_options.allow_growth=True
        config.gpu_options.per_process_gpu_memory_fraction=0.9
      _SESSION = tf.Session(config=config)
    session = _SESSION
  ...

以上这篇keras的backend 设置 tensorflow,theano操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python编写一个在Linux下实现截图分享的脚本的教程
Apr 24 Python
Python中字典的setdefault()方法教程
Feb 07 Python
Python中表达式x += y和x = x+y 的区别详解
Jun 20 Python
python机器学习实战之K均值聚类
Dec 20 Python
Python单元测试实例详解
May 25 Python
python中字符串内置函数的用法总结
Sep 13 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
python中adb有什么功能
Jun 07 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
python 实现批量图片识别并翻译
Nov 02 Python
浅谈TensorFlow中读取图像数据的三种方式
Jun 30 #Python
python中 _、__、__xx__()区别及使用场景
Jun 30 #Python
Django实现内容缓存实例方法
Jun 30 #Python
Pytorch 卷积中的 Input Shape用法
Jun 29 #Python
Python闭包装饰器使用方法汇总
Jun 29 #Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 #Python
Python接口测试环境搭建过程详解
Jun 29 #Python
You might like
用在PHP里的JS打印函数
2006/10/09 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
php日期操作技巧小结
2016/06/25 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
jquery dialog键盘事件代码
2010/08/01 Javascript
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
jquery each()源代码
2011/02/14 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
python导入时小括号大作用
2017/01/10 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
Python实现的计数排序算法示例
2017/11/29 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
对Python3 序列解包详解
2019/02/16 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
数控专业毕业生求职信范文
2013/09/21 职场文书
2014年环保工作总结
2014/11/26 职场文书
三行辞职书范文
2015/02/26 职场文书
小学音乐课教学反思
2016/02/18 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python
vue+springboot实现登录验证码
2021/05/27 Vue.js
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
我的收音机情缘
2022/04/05 无线电