keras的backend 设置 tensorflow,theano操作
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:UsersAdministrator 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:Anaconda2libsite-packageskeras__init__.py", line 2, in <module
from . import backend
File "C:Anaconda2libsite-packageskerasbackend__init__.py", line 68, in <module
from .tensorflow_backend import *
File "C:Anaconda2libsite-packageskerasbackendtensorflow_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:Anaconda2Libsite-packageskerasbackend__init__.py的line 27修改
# Default backend: TensorFlow.
#_BACKEND = 'tensorflow'
_BACKEND = 'theano'
然后,python- import keras
方法二: 出现 tensorflow提示错误的话,需要修改下面的位置的内容
C:UsersAdministrator.keraskeras.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操作就是小编分享给大家的全部内容了,希望能给大家一个参考。
- Android注解学习(2)
- 机器学习之——距离度量学习
- Enterprise Library Policy Injection Application Block 之三:PIAB的扩展—创建自定义CallHandler(提供Source Code下载)
- CodeSmith 创建Ado.Net自定义模版(四)
- TensorFlow图像分类教程
- Enterprise Library Policy Injection Application Block 之一: PIAB Overview
- Python教学——第七天
- 大数据将带来电视媒体生态式变革!大数据如何深度融合电视媒体?
- Silverlight SEO优化
- Silverlight性能优化
- WCF后续之旅(6): 通过WCF Extension实现Context信息的传递
- WCF后续之旅(6): 通过WCF Extension实现Context信息的传递
- 理性的相亲方法!精品课:《决策树》
- Asp.Net无刷新分页( jquery.pagination.js)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux常见问题解决方案汇总
- Linux中文件/文件夹无法删除的解决方案
- GNU Parallel的具体使用
- crontab定时任务不执行的原因分析与解决方法
- 在Linux中安装ASPNET.Core3.0运行时的示例代码
- linux Bash脚本判别使用者的身份方法示例
- 配置Linux使用LDAP用户认证的方法
- linux Dig命令使用大全
- Ubuntu虚拟机下使用cutecom进行串口通信的方法
- 虚拟机Linux系统忘记密码修改root或其他用户密码的方法
- 在 RHEL8 /CentOS8 上建立多节点 Elastic stack 集群的方法
- linux 搭建svn服务器的方法步骤
- linux 下隐藏进程的一种方法及遇到的坑
- Ubuntu 18.04中截图工具shutter的编辑按钮不可用的解决办法
- Linux服务器利用防火墙iptables策略进行端口跳转的方法