安装keras依赖的库

 sudo pip install numpy
sudo pip install scipy
sudo pip installl pyyaml
sudo pipi install HDF5,h5py

注意scipy是依赖numpy的

安装keras

 sudo pip install kera

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

sudo pip install TensorFlo

或者采用清华大学的镜像

CPU版本

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

GPU版本

pip install \
-i https://pypi.tuna.tsinghua.edu.cn/simple/ \
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为后端支持的时候,可以使用语句更改,官方文档中有三种

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

 import theano
theano.config.device ='gpu'
theano.config.floatX='float32'

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

保存

 model.save(filepath)

filepath应该包括fileename,如filename.h5

保存在一个HDF5文件中

包括:

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

重新实例化模型

 keras.model.load_model(filepath)

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

 #保存json
json_string=model.to_json() #保存为YAML
yaml_string=model.to_yaml()

从上面文件中恢复

 from keras.model import model_from_json
#from json
model = model_from_json(json_string) #from yaml
from keras.model import model_from_yaml model = model_from_yaml(yaml_string)

保存权重

 #save wights
model.save_weights('my_model_weights.h5') #若在代码中初始化一个相同的模型:
model.load_weights('my_load_wights.h5')
#加载权重到不同的网络结构中去,通过层名加载模型
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. 2017-07-03(VIM ACL权限 )

    VIM 底行模式 :w 保存 :q 退出 :! 强制执行 :ls 列出打开的所有文件 :n 进行下一个查询 :15 定位到15行 /xxx 从光标处向下查找xxx出现的位置 ?xxx 从光标处向上查找 ...

  2. 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名。

    /** * 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名. */ private function createSign($parameters,$key) { $signP ...

  3. MySql按日期进行统计

    1 数据库字段pk_time(Varchar) 当天的数据 SELECT * FROM 表 WHERE date(fk_time) = curdate(); 当月的数据 SELECT *FROM 表 ...

  4. CURL处理POST、GET请求

    Curl是一个库,它允许你通过各种协议和各种不同的服务器进行连接和通讯 a.php <?php function curlRequest($url,$data=''){ $ch=curl_ini ...

  5. func_get_args  获取一个函数的所有参数

    func_get_args  获取一个函数的所有参数 {     $numargs = func_num_args(); //参数数量     echo "参数个数是: $numargs&l ...

  6. linux的定时任务服务crond(crontab)服务

    1,Crond: Crond是linux系统中用来定期执行命令或指定程序任务的一种服务或者软件.(Centos5以后默认存在) 当优化开机自启动的时候,第一个就是crond. Crond服务默认情况( ...

  7. [DeeplearningAI笔记]改善深层神经网络_深度学习的实用层面1.10_1.12/梯度消失/梯度爆炸/权重初始化

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10 梯度消失和梯度爆炸 当训练神经网络,尤其是深度神经网络时,经常会出现的问题是梯度消失或者梯度爆炸,也就是说当你训练深度网络时,导数或坡 ...

  8. 基于JAVA实现的排序算法总结

    常用的排序方法有:冒泡排序.快速排序.选择排序.插入排序.归并排序,除此之外,还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.希尔排序等,这里着重介绍下前半段列举的几种常见方法的实现. 1. 冒泡排序法: ...

  9. 论事件驱动与异步IO

    通常我们写服务器模型,有以下几种模型: 每收到一个请求,创建一个新的进程,来处理该请求 每收到一个请求,创建一个新的线程,来处理该请求 每收到一个请求,放入到一个事件中,让主程序通过非阻塞I/0方式来 ...

  10. 填坑:在 SegmentFault 开发单页应用之图片引用的问题探索

    前言 前段时间,SegmentFault 低调上线了 技术号 模块,方便用户对数据进行集中管理.在开发过程中,第一次引入了 MV* 框架. SF 的基本架构还是后端路由,这也使得页面频繁地整体请求,体 ...