使用keras,手动搭建卷积模型

####本文使用keras,手动搭建卷积模型 1 import numpy as np
 2 import tensorflow as tensorflow
 3
 4 from keras.layers import Conv2D, MaxPooling2D, GlobalAveragePooling2D
 5 from keras.layers import Dropout, Flatten, Dense
 6 from keras.models import Sequential
 7
 8 #初始化一个模型
 9 model = Sequential()
10
11 ### TODO: 定义你的网络架构
12 #卷积层1
13 model.add(Conv2D(filters=16,kernel_size=(3,3),strides=(1,1),padding="same"
14                  ,input_shape=(224,224,3),activation="relu"))
15 #最大池化1
16 model.add(MaxPooling2D(pool_size=(2,2)))
17 #丢弃
18 model.add(Dropout(0.5))
19
20 #卷积层2
21 model.add(Conv2D(filters=32,kernel_size=(3,3),strides=(1,1),padding="same"
22                  ,activation="relu"))
23 #最大池化2
24 model.add(MaxPooling2D(pool_size=(2,2)))
25 #丢弃
26 model.add(Dropout(0.5))
27
28 #卷积层3
29 model.add(Conv2D(filters=64,kernel_size=(3,3),strides=(1,1),padding="same"
30                  ,activation="relu"))
31
32 #最大池化3
33 model.add(MaxPooling2D(pool_size=(2,2)))
34 #丢弃
35 model.add(Dropout(0.5))
36
37 #扁平化,用全区平均池化代替
38 # model.add(Flatten())
39
40 #全局平均池化
41 model.add(GlobalAveragePooling2D())
42 #一个全连接层,共133个分类,激活函数使用"softmax"
43 model.add(Dense(133, activation="softmax"))
44
45 ## 编译模型
46 model.compile(optimizer=‘rmsprop‘, loss=‘categorical_crossentropy‘, metrics=[‘accuracy‘])
47
48 #显示模型结构
49 model.summary()
50
51
52
53 #########################################
54 ##训练模型
55 from keras.callbacks import ModelCheckpoint
56
57 ### TODO: 设置训练模型的epochs的数量
58
59 epochs = 5
60
61 ### 不要修改下方代码
62
63 checkpointer = ModelCheckpoint(filepath=‘saved_models/weights.best.from_scratch.hdf5‘,
64                                verbose=1, save_best_only=True)
65
66 model.fit(train_tensors, train_targets,
67           validation_data=(valid_tensors, valid_targets),
68           epochs=epochs, batch_size=20, callbacks=[checkpointer], verbose=1)
69
70
71
72 ################################################
73
74 ## 加载具有最好验证loss的模型
75 model.load_weights(‘saved_models/weights.best.from_scratch.hdf5‘)
76
77
78
79 ##################################################
80
81 # 获取测试数据集中每一个图像所预测的狗品种的index
82 dog_breed_predictions = [np.argmax(model.predict(np.expand_dims(tensor, axis=0))) for tensor in test_tensors]
83
84 # 报告测试准确率
85 test_accuracy = 100*np.sum(np.array(dog_breed_predictions)==np.argmax(test_targets, axis=1))/len(dog_breed_predictions)
86 print(‘Test accuracy: %.4f%%‘ % test_accuracy)

原文地址:https://www.cnblogs.com/HL-blog/p/9390184.html

时间: 2024-07-30 08:53:27

使用keras,手动搭建卷积模型的相关文章

手动搭建I/O网络通信框架2:BIO编程模型实现群聊

第一章:手动搭建I/O网络通信框架1:Socket和ServerSocket入门实战,实现单聊 在第一章中运用Socket和ServerSocket简单的实现了网络通信.这一章,利用BIO编程模型进行升级改造,实现群聊聊天室. 如图:当一个客户端请求进来时,接收器会为这个客户端分配一个工作线程,这个工作线程专职处理客户端的操作.在上一章中,服务器接收到客户端请求后就跑去专门服务这个客户端了,所以当其他请求进来时,是处理不到的. 看到这个图,很容易就会想到线程池,BIO是一个相对简单的模型,实现它

手动搭建HPC(高性能计算)

撰写日期:2017年6月13日 作者:翟江恒 一般情况下不会采用手动的方式安装HPC,而是采用集成自动化方案来部署hpc,但是这些集成方案都是集成了指定的操作系统发行版本,比如常见的HPC集成自动化方案rockets,到目前为止集成centos 6.6,如果需要把HPC安装其他linux发行版本环境里面,就不能使用集成自动化方案,必须使用手动安装方法,这篇博客就是叙述如何手动搭建HPC的.敬请往下看. 1.     HPC简介 2.     HPC架构 3.     ssh无密码访问 4.   

.NET完全手动搭建三层B/S架构

简介:三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(WebUI).业务逻辑层(BusinessLogicLayer).数据访问层(DataAccessLayer),公共层(ModelLayer).区分层次的目的即为了“高内聚,低耦合”的思想. 一.应用三层架构的优点 三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增:各做各的模块,降低开发人员能力要求:方便系统功能的扩展以及后期的维护工作:最大优点是它的安全性.用户端只能通过

Linux手动搭建LAMP环境

当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不是能够猜到,我后续还会整理一篇通过集成软件包搭建LAMP环境的文章呢? 其实关于LAMP环境,我到现在都没有用过,好多东西也都不懂为什么要这么做,当初只是心血来潮,想自己搭建一个wiki,所以才着手研究的.我不是搞PHP的,也不是搞后端的,额......是不是暴露的太多了,仅仅是为了搭建环境而搭建环

手动搭建struct2中碰到的一点问题

手动搭建struct2的时候,总是会碰到找不到Filter的问题,到底是怎么回事呢? 其实,关键就在于导入的五个jar包,我们最好是将它放在web-inf目录的lib下,然后再组织导入,这样web.xml才能顺利找到. PS:web.xml就放在web-inf下面就好. 至于struct.xml,目前放在src目录下就好. 自己的技术水平一向让自己无语,碰到这样个问题都得搞半天--  手动搭建struct2中碰到的一点问题

新人学PHP,认为手动搭建环境而苦恼吗?这篇文章告诉你多简单!

本教程适用于初学PHP,想了解手动搭建PHP环境的童鞋. 一键环境和高手勿喷. 本教程以下列版本软件为例: 所需软件目录 我在这里的目录结构是(个人习惯) 安装与配置 apache 双击安装Apache 这里我们选择第一个,然后点击 Next. 这里随便填一个域名,随便填一个 email 就可以了. 然后选择 默认占用 80 端口就 OK 了点击 Next. 点击 Next. 这里选择安装路径 然后点击intall 正在安装中 安装完成 右下角这里是绿色的表示成功了! 这时我们在地址栏里输入 l

php 手动搭建环境

php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 http://windows.php.net/download#php-5.6 选择完整版下载: 二. Apache服务器下载 首先从官网上下载Apache2.4  http://httpd.apache.org/download.cgi 进入第二个界面,选择第二个选项: 根据电脑的不同,选择相应的位数:

React 系列文章(1): npm 手动搭建React 运行实例 (新手必看)

摘 要 刚接触React 开发, 在摸索中构建react 运行环境,总会遇到各种坑:本文,将用最短时间解决webpack+react 环境搭建问题. 1.如果你还没有React基础 看这里. 2.如果不知道webpack是啥?请 看这里. 3.如果你还没有装npm 看这里. 目 录 一.webpack+react 运行实例. 二.webpack 运行环境配置分析. 三.如何手动搭建一个webpack+react 运行环境. 一.webpack+react 运行实例 1.实例代码 源代码下载地址:

Arcgis Android 手动搭建开发环境

前言 本文为大家分享arcgis android 环境的手动搭建过程,默认你懂一定的java和android 基础知识,已经有android的开发环境.如缺乏以上环境和知识,请自行补充. 版本介绍 Arcgis android从2.0版本到现在(2015-08-31)最新的10.2.6版本,中间有多个小版本,简要说下.10系列是较新的系列,2.0系列是老古董了.其中,10.2.4开始支持shapefile和一些栅格数据了,详细请参考这里.如果没记错的话,在10.2.2系列开始,graphicla