Keras 切换后端方式(Theano和TensorFlow)

实验室新装了keras,发现keras默认后端是tensorflow,想换回theano,看了官方文档也没搞懂,最终搞定,很简单。

中文文档的描述:keras中文文档,切换后端

其实就是在C:\Users\75538(75538是我的windos用户名字,找你对应的用户名就行)下有个文件夹.keras,里面有keras.json文件,改一下里面的内容就好了,如果没有文件夹和文件,手动创建就行。

用theano的话,keras.json写入

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

用thesorflow的话,keras.json写入

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

最后保存就可以了

补充知识:anaconda2-keras安装;keras后端修改

一、anaconda2-keras安装

在anaconda2平台下,安装keras库。记录一下,主要是我一开始觉得很简单,pip一下就行了,结果我用pip install keras安装时,就遇到了这样一个问题:ImportError: cannot import name np_utils。

解决方案:

That tutorial was written on June 9th, 2016.Keras 2 was released in March 2017. Try installing the old version, using pip installkeras==1.2.2.

总结一下就是:

1.先装上anaconda2_python2.7

2.再在anancona prompt中用 pip install keras==1.2.2 装Keras

3.spyder中输入 import Keras,检查是否安装成功

二、keras后端修改

代码用的后端是'theano',故要修改后端

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

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

然后,python-> import keras,检查是否修改成功。

以上这篇Keras 切换后端方式(Theano和TensorFlow)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 浅谈keras通过model.fit_generator训练模型(节省内存)

    前言 前段时间在训练模型的时候,发现当训练集的数量过大,并且输入的图片维度过大时,很容易就超内存了,举个简单例子,如果我们有20000个样本,输入图片的维度是224x224x3,用float32存储,那么如果我们一次性将全部数据载入内存的话,总共就需要20000x224x224x3x32bit/8=11.2GB 这么大的内存,所以如果一次性要加载全部数据集的话是需要很大内存的. 如果我们直接用keras的fit函数来训练模型的话,是需要传入全部训练数据,但是好在提供了fit_generator,

  • 使用Keras中的ImageDataGenerator进行批次读图方式

    ImageDataGenerator位于keras.preprocessing.image模块当中,可用于做数据增强,或者仅仅用于一个批次一个批次的读进图片数据.一开始以为ImageDataGenerator是用来做数据增强的,但我的目的只是想一个batch一个batch的读进图片而已,所以一开始没用它,后来发现它是有这个功能的,而且使用起来很方便. ImageDataGenerator类包含了如下参数:(keras中文教程) ImageDataGenerator(featurewise_cen

  • 浅谈keras2 predict和fit_generator的坑

    1.使用predict时,必须设置batch_size,否则效率奇低. 查看keras文档中,predict函数原型: predict(self, x, batch_size=32, verbose=0) 说明: 只使用batch_size=32,也就是说每次将batch_size=32的数据通过PCI总线传到GPU,然后进行预测.在一些问题中,batch_size=32明显是非常小的.而通过PCI传数据是非常耗时的. 所以,使用的时候会发现预测数据时效率奇低,其原因就是batch_size太小

  • 在keras中model.fit_generator()和model.fit()的区别说明

    首先Keras中的fit()函数传入的x_train和y_train是被完整的加载进内存的,当然用起来很方便,但是如果我们数据量很大,那么是不可能将所有数据载入内存的,必将导致内存泄漏,这时候我们可以用fit_generator函数来进行训练. keras中文文档 fit fit(x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=N

  • Keras 切换后端方式(Theano和TensorFlow)

    实验室新装了keras,发现keras默认后端是tensorflow,想换回theano,看了官方文档也没搞懂,最终搞定,很简单. 中文文档的描述:keras中文文档,切换后端 其实就是在C:\Users\75538(75538是我的windos用户名字,找你对应的用户名就行)下有个文件夹.keras,里面有keras.json文件,改一下里面的内容就好了,如果没有文件夹和文件,手动创建就行. 用theano的话,keras.json写入 { "image_dim_ordering":

  • keras实现theano和tensorflow训练的模型相互转换

    我就废话不多说了,大家还是直接看代码吧~ </pre><pre code_snippet_id="1947416" snippet_file_name="blog_20161025_1_3331239" name="code" class="python"> # coding:utf-8 """ If you want to load pre-trained weights

  • keras导入weights方式

    keras源码engine中toplogy.py定义了加载权重的函数: load_weights(self, filepath, by_name=False) 其中默认by_name为False,这时候加载权重按照网络拓扑结构加载,适合直接使用keras中自带的网络模型,如VGG16 VGG19/resnet50等,源码描述如下: If `by_name` is False (default) weights are loaded based on the network's topology,

  • 关于Theano和Tensorflow多GPU使用问题

    我使用的是tensorflow-gpu (1.2.1)和Theano (0.9.0),2个4G显存Nvidia Quadro M2000 GPU. 1. theano: ValueError: Could not infer context from inputs THEANO_FLAGS="contexts=dev0->cuda0;dev1->cuda1,gpuarray.preallocate=0.95,mode=FAST_RUN,floatX=float32,on_unused

  • 最简单纯JavaScript实现Tab标签页切换的方式(推荐)

    先说一下最土的一种方法: Html: <div class="tab-head"> <h2 id="tab1" onmouseover="changeTab1()" class="selected">1</h2> <h2 id="tab2" onmouseover="changeTab2()">2</h2> <h2 id=

  • vue选项卡切换登录方式小案例

    本文实例为大家分享了vue选项卡切换登录方式的具体代码,供大家参考,具体内容如下 最终效果 组件代码: <template> <div> <div class="login_warp"> <div class="loginbox fl"> <!-- 三个选项卡按钮 --> <div class="login_header"> <span @click="cur

  • python将logging模块封装成单独模块并实现动态切换Level方式

    查找了很多资料,但网上给出的教程都是大同小异的,而我想将代码进一步精简,解耦,想实现如下两个目标 1. 将logging模块的初始化,配置,设置等代码封装到一个模块中: 2. 能根据配置切换logging.level, 网上给出的教程都是写死的,如果我在线上之前使用了logging.info(msg),现在想切换为logging.debug(msg)怎么办?需要能够根据配置文件中的 设置配置logging.level 两个文件: logging_class:将logging模块的初始化,配置,设

  • Keras自定义IOU方式

    我就废话不多说了,大家还是直接看代码吧! def iou(y_true, y_pred, label: int): """ Return the Intersection over Union (IoU) for a given label. Args: y_true: the expected y values as a one-hot y_pred: the predicted y values as a one-hot or softmax output label:

  • keras实现VGG16方式(预测一张图片)

    我就废话不多说了,大家还是直接看代码吧~ from keras.applications.vgg16 import VGG16#直接导入已经训练好的VGG16网络 from keras.preprocessing.image import load_img#load_image作用是载入图片 from keras.preprocessing.image import img_to_array from keras.applications.vgg16 import preprocess_inpu

  • springboot+dynamicDataSource动态添加切换数据源方式

    目录 springboot dynamicDataSource动态添加切换数据源 1.修改初始加载的数据源map 2.此时一开始的时候就会加载数据库中的 3.但是发现新增数据源或修改数据源时无法操作 dynamicDataSource动态添加移除数据源 数据源model 切换接口 springboot dynamicDataSource动态添加切换数据源 之前有篇写了切换数据源的方法,那些可以在yml中配置固定的几个数据源进行切换后面需要新需求 在数据库实现增删改查数据源 然后连. 之前配置的就

随机推荐