#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Sep 30 18:00:30 2018
这是用keras搭建的简单的cnn 网络
@author: lg
"""
##import keras
from keras.datasets import cifar10
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Conv2D, MaxPooling2Dfrom matplotlib import pyplot as pltnum_classes = 10
model_name = 'cifar10.h5'# The data, shuffled and split between train and test sets:
(x_train, y_train), (x_test, y_test) = cifar10.load_data()plt.imshow(x_train[0])
plt.show()x_train = x_train.astype('float32')/255
x_test = x_test.astype('float32')/255# Convert class vectors to binary class matrices.
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)model = Sequential()#第一个 卷积层 的卷积核的数目是32 ,卷积核的大小是3*3,stride没写,默认应该是1*1
#对于stride=1*1,并且padding ='same',这种情况卷积后的图像shape与卷积前相同,本层后shape还是32*32
model.add(Conv2D(32, (3, 3), padding='same',strides=(1,1) ,input_shape=x_train.shape[1:]))
model.add(Activation('relu'))#keras Pool层有个奇怪的地方,stride,默认是(2*2),padding 默认是valid,在写代码是这些参数还是最好都加上
model.add(  MaxPooling2D(pool_size=(2, 2),strides=(2,2),padding='same')  )model.add(Dropout(0.25))model.add(Conv2D(64, (3, 3), padding='same'))
model.add(Activation('relu'))model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))model.add(Flatten())model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))model.add(Dense(num_classes))
model.add(Activation('softmax'))model.summary()# initiate RMSprop optimizer
opt = keras.optimizers.rmsprop(lr=0.001, decay=1e-6)# train the model using RMSprop
model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])hist = model.fit(x_train, y_train, epochs=40, shuffle=True)
model.save(model_name)# evaluate
loss, accuracy = model.evaluate(x_test, y_test)
print (loss, accuracy)

keras cnn 代码详解相关推荐

  1. Keras YOLOv3代码详解(三):目标检测的流程图和源代码+中文注释

    Keras YOLOv3源代码下载地址:https://github.com/qqwweee/keras-yolo3 YOLOv3论文地址:https://pjreddie.com/media/fil ...

  2. python cnn代码详解 keras_python – CNN返回相同的分类结果(keras)

    我正在使用CNN对两种花粉进行分类:sugi和hinoki.当我使用在可见光下拍摄的图像作为数据时,它预测所有测试图像的"伪".另一方面,当我使用紫外线拍摄的图像作为数据时,它预测 ...

  3. python cnn代码详解图解_TextCNN 代码详解(附测试数据集以及GitHub 地址)

    前言:本篇是TextCNN系列的第二篇,分享TextCNN的代码 前两篇可见: 一.textCNN整体框架 1. 模型架构 图一:textCNN 模型结构示意 2. 代码架构 图二: 代码架构说明 t ...

  4. python cnn代码详解图解_基于TensorFlow的CNN实现Mnist手写数字识别

    本文实例为大家分享了基于TensorFlow的CNN实现Mnist手写数字识别的具体代码,供大家参考,具体内容如下 一.CNN模型结构 输入层:Mnist数据集(28*28) 第一层卷积:感受视野5* ...

  5. DeepLearning tutorial(4)CNN卷积神经网络原理简介+代码详解

    FROM: http://blog.csdn.net/u012162613/article/details/43225445 DeepLearning tutorial(4)CNN卷积神经网络原理简介 ...

  6. 视频分类之 UCF-101 上的 CNN 方法详解

    视频分类之 UCF-101 上的 CNN 方法详解 Code at Github: https://github.com/sujiongming/UCF-101_video_classificatio ...

  7. 基于U-Net的的图像分割代码详解及应用实现

    摘要 U-Net是基于卷积神经网络(CNN)体系结构设计而成的,由Olaf Ronneberger,Phillip Fischer和Thomas Brox于2015年首次提出应用于计算机视觉领域完成语 ...

  8. 【CV】Pytorch一小时入门教程-代码详解

    目录 一.关键部分代码分解 1.定义网络 2.损失函数(代价函数) 3.更新权值 二.训练完整的分类器 1.数据处理 2. 训练模型(代码详解) CPU训练 GPU训练 CPU版本与GPU版本代码区别 ...

  9. 【小白学PyTorch】扩展之Tensorflow2.0 | 21 Keras的API详解(下)池化、Normalization

    <<小白学PyTorch>> 扩展之Tensorflow2.0 | 21 Keras的API详解(上)卷积.激活.初始化.正则 扩展之Tensorflow2.0 | 20 TF ...

最新文章

  1. jQuery的Cookie使用
  2. 【分享】Web前端开发第三方插件大全
  3. 微信公众号python人工智能回复_python实现微信机器人: 登录微信、消息接收、自动回复功能...
  4. clocks_per_sec 时间不正确_你该拥有的不只是护肤品,还有正确护肤时间表
  5. HALCON 21.11:深度学习笔记(2)
  6. c语言报刊杂志订阅系统,中国报刊杂志大全_报刊大全_报刊杂志订阅
  7. 我的KT库之-----缓存与配置
  8. linux 系统信号忽略和system函数返回值问题(system的实现)
  9. ListView 优化
  10. 使用SSH公钥登录服务器
  11. java在线查看PDF
  12. 导航栏的HTML的布局方式
  13. 指数分布的样本和是充分统计量
  14. 目前为止最靠谱的禁用windows10update易升自动更新的办法
  15. Windows 远程桌面连接方法及远程桌面控制软件推荐
  16. 使用xlsxwriter简单的将截图插入excel表格中
  17. 修复自定义标题word题注错误:错误,文档中没有指定样式的文字以及编号无法随章节变化问题
  18. rs232读取智能电表_跟大家聊一聊智能电表上的铭牌认识,和电表的防窃电。
  19. 杭电 HDU 1234 开门人和关门人
  20. TortoiseSVN (Subversion客户端) 使用手册(中文) (五)

热门文章

  1. 使用Arduino模块实施无线信号的重放攻击
  2. CISCO NAT 配置
  3. 养成一个习惯需要多久?
  4. Freebsd下如何安装配置ssh
  5. Jquery getJSON方法分析(一)
  6. 光缆衰减标准(待补充)
  7. 思科模拟器-虚拟局域网的划分与配置实验
  8. php服务为什么开不了,php怎么打不开
  9. python高通滤波器设计_python实现直方图均衡化,理想高通滤波与高斯低通滤波
  10. java中的标识符和关键字_浅谈java中的标识符、修饰符和关键字