安装keras依赖的库

  1. sudo pip install numpy
  2. sudo pip install scipy
  3. sudo pip installl pyyaml
  4. sudo pipi install HDF5,h5py

注意scipy是依赖numpy的

安装keras

  1. sudo pip install kera

安装TensorFlow作为后端(backend),Theano同理

  1. sudo pip install TensorFlo

或者采用清华大学的镜像

CPU版本

  1. sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ TensorFlow

GPU版本

  1. pip install \
  2. -i https://pypi.tuna.tsinghua.edu.cn/simple/ \
  3. https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.5.0-cp35-cp35m-linux_x86_64.whl

以上是安装keras和TenforFlow的步骤,我使用的elementray os  直接安装成功

————————————————————————————————————————————————————————————————————————————————

下面是keras的基础

张量的阶数是纬度或者是轴,来自Axis

例如:

[[1,2],[3,4]]

是二阶张量,两个纬度(我所理解的是横竖,即坐标轴,不过轴的方向不同。)

沿着0轴(因为Python中索引从0开始)

[1,2]

[3,4]

沿着1轴

[1,3]

[2,4]

当keras使用tensorflow为后端的时候,如果计算机有可用GPU时会自动调用GPU,

若使用Theano为后端支持的时候,可以使用语句更改,官方文档中有三种

我感觉最合适的是在代码前面加上:

  1. import theano
  2. theano.config.device ='gpu'
  3. theano.config.floatX='float32'

keras模型的保存和重新实例化

保存

  1. model.save(filepath)

filepath应该包括fileename,如filename.h5

保存在一个HDF5文件中

包括:

  1. 模型结构,便于重构
  2. 模型权重
  3. 训练配置
  4. 优化器状态,便于从上次的位置开始

重新实例化模型

  1. keras.model.load_model(filepath)

如果你只想保存结构,不包括配置信息,或者权重信息。这些文件甚至可以人为打开编辑。

  1. #保存json
  2. json_string=model.to_json()
  3.  
  4. #保存为YAML
  5. yaml_string=model.to_yaml()

从上面文件中恢复

  1. from keras.model import model_from_json
  2. #from json
  3. model = model_from_json(json_string)
  4.  
  5. #from yaml
  6. from keras.model import model_from_yaml
  7.  
  8. model = model_from_yaml(yaml_string)

保存权重

  1. #save wights
  2. model.save_weights('my_model_weights.h5')
  3.  
  4. #若在代码中初始化一个相同的模型:
  5. model.load_weights('my_load_wights.h5')
  6. #加载权重到不同的网络结构中去,通过层名加载模型
  7. model.load_weights('my_load_wights.h5',by_name=True)

keras初涉笔记【一】的更多相关文章

  1. 深度学习Keras框架笔记之AutoEncoder类

    深度学习Keras框架笔记之AutoEncoder类使用笔记 keras.layers.core.AutoEncoder(encoder, decoder,output_reconstruction= ...

  2. 深度学习Keras框架笔记之TimeDistributedDense类

    深度学习Keras框架笔记之TimeDistributedDense类使用方法笔记 例: keras.layers.core.TimeDistributedDense(output_dim,init= ...

  3. 深度学习Keras框架笔记之Dense类(标准的一维全连接层)

    深度学习Keras框架笔记之Dense类(标准的一维全连接层) 例: keras.layers.core.Dense(output_dim,init='glorot_uniform', activat ...

  4. 官网实例详解-目录和实例简介-keras学习笔记四

    官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras   版权声明: ...

  5. Keras学习笔记——Hello Keras

    最近几年,随着AlphaGo的崛起,深度学习开始出现在各个领域,比如无人车.图像识别.物体检测.推荐系统.语音识别.聊天问答等等.因此具备深度学习的知识并能应用实践,已经成为很多开发者包括博主本人的下 ...

  6. Keras学习笔记

    Keras基于Tensorflow和Theano.作为一个更高级的框架,用其编写网络更加方便.具体流程为根据设想的网络结构,使用函数式模型API逐层构建网络即可,每一层的结构都是一个函数,上一层的输出 ...

  7. Keras学习笔记(完结)

    使用Keras中文文档学习 基本概念 Keras的核心数据结构是模型,也就是一种组织网络层的方式,最主要的是序贯模型(Sequential).创建好一个模型后就可以用add()向里面添加层.模型搭建完 ...

  8. Keras学习笔记。

    1. keras.layers.Dense (Fully Connected Neural NetWork),所实现的运算是output = activation(dot(input, kernel) ...

  9. keras学习笔记2

    1.keras的sequential模型需要知道输入数据的shape,因此,sequential的第一层需要接受一个关于输入数据shape的参数,后面的各个层则可以自动的推导出中间数据的shape,因 ...

随机推荐

  1. scrapy_对传到items的值预处理

    如何实现对值进行预处理?  对于传递进items的值,首先明白有两个动作,进和出,那就可以分别对这两个动作进行逻辑处理 #!/usr/bin/python3 # -*- coding: utf-8 - ...

  2. Springboot中使用AOP统一处理Web请求日志

    title: Springboot中使用AOP统一处理Web请求日志 date: 2017-04-26 16:30:48 tags: ['Spring Boot','AOP'] categories: ...

  3. border-image用法详解

    图像边框 border-image使用方法:border-image:url('图像路径') 边距(不能带单位)/宽度 上下方式 左右方式:(四个边距,上右下左,相同时可缩写为一个)repeat平铺 ...

  4. js中的一元加法和一元减法

    大多数人都熟悉一元加法和一元减法,它们在 ECMAScript 中的用法与您高中数学中学到的用法相同. 一元加法本质上对数字无任何影响: var iNum = 20; iNum = +iNum; al ...

  5. openstack一键安装脚本(转载)

    #!/bin/sh # openstack pike 单机 一键安装 # 环境 centos 7.4.1708 x86_64 # 更多内容 http://dwz.cn/openstack # Myde ...

  6. Hadoop RPC简单例子

    jdk中已经提供了一个RPC框架-RMI,但是该PRC框架过于重量级并且可控之处比较少,所以Hadoop RPC实现了自定义的PRC框架. 同其他RPC框架一样,Hadoop RPC分为四个部分: ( ...

  7. 洛谷 [P2756] 飞行员配对方案问题

    二分图匹配裸题 可以用匈牙利做,简单高效 输出具体的匹配路径时 ,直接输出match数组即可 #include <iostream> #include <cstdio> #in ...

  8. 使用最小堆优化Dijkstra算法

    OJ5.2很简单,使用priority_queue实现了最小堆竟然都过了OJ……每次遇到relax的问题时都简单粗暴地重新push进一个节点…… 然而正确的实现应该是下面这样的吧,关键在于swap堆中 ...

  9. BZOJ 1116: [POI2008]CLO [连通分量]

    Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 你要把其中一些road变成单向边使得:每个town都有且只有一个入度 ...

  10. CF266D. BerDonalds [图的绝对中心]

    D. BerDonalds time limit per test 5 seconds memory limit per test 256 megabytes input standard input ...