theano 以及 TensorFlow 是 keras 的 backend(后端支持),因此,keras 本质上是对 thenao 或者 TensorFlow 的进一步封装(wrapper)。

  • keras 安装完成之后,会自动在用户 home 目录创建.keras/keras.json文件,用于配置 keras 的一些基本信息:

    • "backend": "tensorflow"
    • from keras.datasets import mnist ⇒ mnist.load_data(),在线下载的 mnist.npz也是在该文件夹下;

0. 查看后端

>> from keras import backend
>> backend.image_dim_ordering()
'tf'
>> backend.image_data_format()
'channels_last'

1. 内置数据集

  • mnist

    >> from keras.datasets import mnist
    >> (X_train, y_train), (X_test, y_test) = mnist.load_data()
    >> X_train.shape
    (60000, 28, 28)
    >> y_train.shape
    (60000,)
    >> X_test.shape
    (10000, 28, 28)
    >> y_test.shape
    (10000,)
    

2. keras 下的 packages

  • keras.layers(对 layer 的抽象)

    • from keras.layers import Input:输入层(首字母大写,是一个类,表示输入层),类构造函数接受的参数分别有,

      • shape:tuple 类型,标识维度信息
    • from keras.layers import Dense:全连接层,该类构造函数接收的参数分别有:
      • output_dim:下一层的神经元的数目
      • activation:字符串类型,默认为'linear',所以一定要使用关键字参数的形式,对其进行设置;
  • keras.models(对最终训练学习到的模型进行抽象)

    • from keras.models import Model,其构造函数接受的参数分别为:

      • input,输入
      • output, 输出
      • 很像 theano 下的 theano.function(...)
  • Model 类更为重要的是其丰富的成员函数,ae = Model(input=…, output=…)

    • ae.compile(),参数列表主要有:

      • optimizer:字符串类型,adam/...
      • loss:字符串类型,mse/...
    • ae.fit(),用于正式的训练,参数列表主要有:

      • x, y:输入和输出,比如对于自编码器,x 和 y 是一致的;
      • shuffle:是否 shuffle 数据
    • ae.predict():对单个的样本进行预测;

3. 网络搭建

from keras.models import Sequential
from keras.layers import Embedding, SimpleRNNmodel = Sequential()
model.add(Embedding(10000, 32))
model.add(SimpleRNN(32))#
model.summary()
model.pop()# 移除最后添加的层
  • model.pop():移除最后添加的层
  • model.output_shape:查看输出层(也即最后添加的层)的大小;

references

  • Keras FAQ: 常见问题解答

keras + tensorflow 基本使用 —— backend相关推荐

  1. DL之CNN:基于CNN-RNN(GRU,2)算法(keras+tensorflow)实现不定长文本识别

    DL之CNN:基于CNN-RNN(GRU,2)算法(keras+tensorflow)实现不定长文本识别 目录 输出结果 实现代码 输出结果 后期更新-- 实现代码 后期更新-- image_ocr代 ...

  2. Keras TensorFlow教程:如何从零开发一个复杂深度学习模型

    Keras 是提供一些高可用的 Python API ,能帮助你快速的构建和训练自己的深度学习模型,它的后端是 TensorFlow 或者 Theano .本文假设你已经熟悉了 TensorFlow ...

  3. 【前沿】何恺明大神ICCV2017最佳论文Mask R-CNN的Keras/TensorFlow/Pytorch 代码实现

    我们提出了一个概念上简单.灵活和通用的用于目标实例分割(object instance segmentation)的框架.我们的方法能够有效地检测图像中的目标,同时还能为每个实例生成一个高质量的分割掩 ...

  4. Keras TensorFlow 混编中 trainable=False设置无效

    Keras TensorFlow 混编中 trainable=False设置无效 这是最近碰到一个问题,先描述下问题: 首先我有一个训练好的模型(例如vgg16),我要对这个模型进行一些改变,例如添加 ...

  5. 菜尼奥排错之keras ‘tensorflow.compat.v2.__internal__‘ has no attribute ‘register_clear_session_function‘

    环境版本: Ubuntu 16.04.2 LTS Nvidia GeForce RTX 3080*2  CUDA Version 11.2 tensorflow 2.5.0 keras 2.7.0 报 ...

  6. Keras TensorFlow教程:使用自己的数据集进行训练

    大多数Keras教程都尝试使用图像分类数据集(如MNIST(手写识别)或基本对象CIFAR-10(基本对象识别))来开启Keras库的基础知识学习. 这篇文章将对Keras入门教程进行不同的尝试.使用 ...

  7. 使用Keras/TensorFlow模型构建属于你的Chatbot API

    很多人认为,构建自己的聊天机器人(或助手)并不复杂.各种聊天机器人平台正在使用分类模型来识别用户意图.显然,在现有平台上构建聊天机器人时,会得到强有力的提升.为什么不自己使用类似的模型,构建一个独属于 ...

  8. Ubuntu18.04安装keras(tensorflow)从无到有实录

    今天演示一下在Ubuntu18.04上安装keras (后端tensorflow CPU版本)的过程. 整个过程我们在云上安装. 部署云主机 随便找一家云服务提供商,国内有阿里,腾讯,百度,金山,京东 ...

  9. keras/tensorflow 模型保存后重新加载准确率为0 model.save and load giving different result

    我在用别人的代码跑程序的时候遇到了这个问题: keras 模型保存后重新加载准确率为0 GitHub上有个issue:model.save and load giving different resu ...

最新文章

  1. 未来货运:无人驾驶技术和卡车司机如何配合?
  2. 端口扫描器——ZenmapKail Linux渗透测
  3. Visual C#创建Windows服务程序
  4. matlab中有哪些有趣的命令?好玩的matlab彩蛋
  5. iOS native集成Weex js文件 不显示提示框问题
  6. python 默认参数_避坑指南!Python里面的这九个坑,坑的就是你!
  7. matlab如何绘制传递函数对数幅频特性_开环传递函数是怎样影响系统的?重要参量1/(1+T)与T/(1+T)的释义...
  8. 三大超算军团加速布局 中科曙光E级超算预研项目正式启动
  9. destools php_php DES加密算法实例分析
  10. vue指令02---自动获取焦点(全局自定义指令Vue.directive())和全局过滤器Vue.filter() 的学习...
  11. 您需要计算机管理员权限,安装需要管理员权限,教您怎么设置安装软件需要管理员权限...
  12. python超市管理系统流程图_python实现超市管理系统(后台管理)
  13. 数据索引---Solr DIH
  14. 二手MacBook笔记本回收数量的提升,也是用户环保意识的增强
  15. Fiddler抓包工具保姆级使用教程(超详细)
  16. 黑马在线教育数仓实战1
  17. 服务器的虚拟盘符,服务器虚拟内存更改盘符
  18. 【Win11尝鲜】Win 11设置任务栏图标靠左或居中显示
  19. VS编译出错:未能找到类型,未能加载基类
  20. 万恶的高强度文件夹加密大师破解之笨办法

热门文章

  1. python常用模块一览表_python 常用模块
  2. php 字符串表示,php:字符串(string)数据类型实例详解
  3. 页面报错500是什么意思_解决方案:品牌备案后,上传产品报错5461,A+页面报错...
  4. Vertica系列:数仓优化
  5. epoll编程实例客户端_深入底层探析网络编程之多路复用器(select,poll,epoll)
  6. Python 之 异常
  7. spring配置数据源错误记录
  8. python中input和raw_input的区别
  9. TensorFlow精进之路(九):TensorFlow编程基础
  10. VS2017+Opencv3.3+Opencv_contribute编译