基于keras的图像分类CNN模型的搭建以及可视化(附详细代码)

本文详述了如何使用Keras构建图像分类的CNN模型,从Keras模型介绍、CNN模型搭建到模型可视化的过程。核心内容包括Sequential模型的使用、数据集处理、模型训练与优化,以及模型在TensorBoard上的可视化。文章提供了关键代码示例,并分享了在训练过程中调整参数以提高准确率的经验。
摘要由CSDN通过智能技术生成

基于keras的图像分类CNN模型的搭建以及可视化

本文借助keras实现了热图像的分类模型的搭建,以及可视化的工作。本文主要由以下内容组成。

  • Keras模型介绍
  • CNN模型搭建
  • 模型可视化

Keras模型介绍

  1. 简介

Keras 是 Google 的一位工程师François Chollet 开发的一个框架,能够有效地利用TensorFlow进行开发。keras之所以流行的原因,我在之前的博客已经说明过了:轻量级和快速开发,并且日益成为一种标准框架。(对于深度学习方面是小白的同学,keras不要太友好啊。搭建模型的感觉就像在搭建积木。当然掌握必要的深度学习方面的数学知识是非常必要的。)
keras的核心数据结构就是模型。模型是用来组织网络层的方式。总共有两种模型。

  1. Sequential 模型

  2. Model 模型
    我使用的是Sequential 模型(这种模型是一系列网络层按照顺序构成的栈,是单输入单输出的结构层与层之间只有相邻的关系,如果你需要构建更复杂的模型则要用Model模型) 。

  3. 安装


keras的安装非常简单,你可以安装anaconda,然后再安装keras。直接就是pip install keras
有一个需要注意的地方就是 ,安装好之后,可以选择依赖的后端,在 ~/keras/keras.json下修改最后一行backend对应的值即可。就是修改下面的这段代码中tensorflow,可以改成theano,其实差别不大。我用的是TensorFlow。
{ "image_dim_ordering": "tf", "epsilon": 1e-07, "floatx": "float32", "backend": "tensorflow" }

使用TensorFlow和theano的区别主要就是变换读取数据尺寸的语句不一样。(之前的博客我也提到过。)
这里写图片描述

CNN模型搭建


我的模型是由一个人脸识别的案例改过来的,我改了挺长时间的,我也是有事没事,然后就把模型拿出来跑跑,发现哪儿不对劲,就改改,最后到今天,基本都跑通了。
我的模型代码由四个部分代码组成。代码已经上传到了我的**GitHub上了,大家觉得我的这段代码有帮助的话,记得给我的GitHub星星, 蟹蟹大噶!**

  • read_img.py
  • read_data.py
  • dataSet.py
  • train_model.py
  • test_model.py

###read_img.py
这个文件里面呢,主要就是读取文件数据(码的,说了等于没说嘛)。好了,开始讲正题。
先讲这个endwith的函数

def endwith(s,*endstring):
   resultArray = map(s.endswith,endstring)
   if True in resultArray:
       return True
   else:
       return False
</
评论 76
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值