百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

智造讲堂:深度学习框架之Keras(keras框架介绍)

liuian 2025-03-30 18:30 77 浏览

引自:《深度学习》(作者:文龙, 李新宇)


Keras是深度学习领域另一个常用框架。它以TensorFlow、Theano、CNTK作为后端引擎运行,提供直观而简洁的API,即使是非专业人员,也可以在各自领域轻松使用和开发深度学习模型,如多重感知机、卷积神经网络、循环神经网络以及各种复杂的网络模型(Keras官网为https://keras.io/)。


目前,Keras具有广阔的应用场景,具有良好的模块化设计、用户友好的接口规范等特点。它将大量重复的工作进行抽象并形成接口,使得用户只需采用少量代码完成接口部分即可实现深度学习模型的快速搭建,以节约模型构建时间。同时,Keras支持CPU和GPU的无缝运行,也支持多GPU并行计算。目前,Keras的API已经被TensorFlow借鉴,形成了TensorFlow下的Keras模块。


本案例采用TensorFlow下Keras模块搭建一个CNN模型,并将其应用在Cifar10数据集上。Cifar10数据集是著名的图像分类数据集,包含10个类别,每个类别6000张32x32的彩色图像,总数据量为60000张图像。其中50000张为训练集图像,另外10000张为测试图像。Cifar10数据集下载地址为http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz。但是,Keras已经将Cifar10的下载和使用进行了封装,只需要调用相关函数即可。本案例的操作如下:


(1)导入相关库。如图1所示,本实例代码共导入了TensorFlow库和tensorflow.keras库下的datasets(数据集)、layers(网络层)和models(模型)的相关库。最后导入了绘图软件matplotlib中的绘图模块pyplot,并将其命名为plt。


图1 导入Keras相关库


(2)准备数据集。下载并准备Cifar10数据集。tensorflow.keras中Cifar10的相关接口在datasets类下,因此直接导入即可,如图2中的代码第8行所示。第11行代码为对其进行预处理。第14~26行为展示其中前25个样本,图像输出结果如图3所示。


图2 导入Cifar10数据集


图3 Cifar10数据集中前25幅图像


(3)构造CNN模型。在tensorflow.keras中,卷积层的构造函数为Conv2D,池化层为MaxPooling2D,全连接层为Dense函数。如图4所示,第30行定义了一个模型(model),第31行构建了第一个卷积层,其参数分别表示卷积层的深度32、卷积核的大小3*3、激活函数Relu。其中input_shape表明其输入的tensor维度,为(32, 32, 3)。CNN模型的输入Tensor的形式为(image_height, image_width, color_channels),分别包含了图像高度、宽度及颜色信息。如果不熟悉图像处理,颜色信息建议使用RGB色彩模式,此模式下,color_channels为(R,G,B)分别对应RGB的三个颜色通道(color_channels)。由于Cifar10数据集是32x32的彩色图像,所以其数据形式正好为(32, 32, 3)。


图4 构造CNN模型


第32行构建了一个最大池化层,池化层的参数为2*2。第33~35行定义了交替的卷积层和池化层,其意义不在重复。


第38行调用Flatten()函数将3维张量转换为1维,之后传入一个或者多个Dense层中。本例中第39行和第40行分别定义了两个Dense层。在最后的Dense层中,添加了softmax激活函数,实现对Cifar10数据集中10个类别的预测输出。


第43层展示了该CNN模型各层的参数状况,其结果如图5所示。图中Layer(type)分别表示层名称、层类型,OutputShape表示数据张量在图中的维度变化,Param表示参数量。由此可见,MaxPooling2D会将数据张量的宽度和高度信息降低一半。而Flatten层将4*4*64的三维张量转化为1024的一维张量。


图5 CNN模型各层的参数状况


(4)编译并训练模型。在本例中,由于Cifar10数据集的label是数字编码,故采用SparseCategoricalCrossentropy函数。对于独热编码的情况,可以直接采用CategoricalCrossentropy函数。在本例中,训练的优化器选择Adam优化器,训练中采用的度量指标为准确率(accuracy)。


模型的编译如图6的第46行所示,分别指定模型的优化器、损失函数和度量指标。第50行表示模型的训练,其中train_images和train_labels分别为训练集样本和训练集的label。参数epoches指定了训练次数。此处并未指定批量,故默认为每批使用全部样本。参数validation_data表示验证集。该模型的训练结果如图7所示。从结果上看,经过10步的训练,该CNN模型的预测精度已经达到74.50%。


图6 编译并训练模型


图7 CNN模型在Cifar10数据集上的训练结果

相关推荐

搭建一个20人的办公网络(适用于20多人的小型办公网络环境)

楼主有5台机上网,则需要一个8口路由器,组网方法如下:设备:1、8口路由器一台,其中8口为LAN(局域网)端口,一个WAN(广域网)端口,价格100--400元2、网线N米,这个你自己会看了:)...

笔记本电脑各种参数介绍(笔记本电脑各项参数新手普及知识)

1、CPU:这个主要取决于频率和二级缓存,频率越高、二级缓存越大,速度越快,现在的CPU有三级缓存、四级缓存等,都影响相应速度。2、内存:内存的存取速度取决于接口、颗粒数量多少与储存大小,一般来说,内...

汉字上面带拼音输入法下载(字上面带拼音的输入法是哪个)

使用手机上的拼音输入法打成汉字的方法如下:1.打开手机上的拼音输入法,在输入框中输入汉字的拼音,例如“nihao”。2.根据输入法提示的候选词,选择正确的汉字。例如,如果输入“nihao”,输...

xpsp3安装版系统下载(windowsxpsp3安装教程)

xpsp3纯净版在采用微软封装部署技术的基础上,结合作者的实际工作经验,融合了许多实用的功能。它通过一键分区、一键装系统、自动装驱动、一键设定分辨率,一键填IP,一键Ghost备份(恢复)等一系列...

没有备份的手机数据怎么恢复

手机没有备份恢复数据方法如下1、使用数据线将手机与电脑连接好,在“我的电脑”中可以看到手机的盘符。  2、将手机开启USB调试模式。在手机设置中找到开发者选项,然后点击“开启USB调试模式”。  3、...

电脑怎么激活windows11专业版

win11专业版激活方法有多种,以下提供两种常用的激活方式:方法一:使用激活密钥激活。在win11桌面上右键点击“此电脑”,选择“属性”选项。进入属性页面后,点击“更改产品密钥或升级windows”。...

华为手机助手下载官网(华为手机助手app下载专区)

华为手机助手策略调整,已不支持从应用市场下载手机助手,目前华为手机助手是需要在电脑上下载或更新手机助手到最新版本,https://consumer.huawei.com/cn/support/his...

光纤线断了怎么接(宽带光纤线断了怎么接)

宽带光纤线断了可以重接,具体操作方法如下:1、光纤连接的时候要根据束管内,同色相连,同芯相连,按顺序进行连接,由大到小。一般有三种连接方法,分别是熔接、活动连接和机械连接。2、连接的时候要开剥光缆,抛...

深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
win7旗舰版和专业版区别(win7旗舰版跟专业版)

1、功能区别:Win7旗舰版比专业版多了三个功能,分别是Bitlocker、BitlockerToGo和多语言界面; 2、用途区别:旗舰版的功能是所有版本中最全最强大的,占用的系统资源,...

万能连接钥匙(万能wifi连接钥匙下载)

1、首先打开wifi万能钥匙软件,若手机没有开启WLAN,就根据软件提示打开WLAN开关;2、打开WLAN开关后,会显示附近的WiFi,如果知道密码,可点击相应WiFi后点击‘输入密码’连接;3、若不...

雨林木风音乐叫什么(雨林木风是啥)

雨林木风的创始人是陈年鑫先生。陈年鑫先生于1999年创立了雨林木风公司,其初衷是为满足中国市场对高品质、高性能电脑的需求。在陈年鑫先生的领导下,雨林木风以技术创新、产品质量和客户服务为核心价值,不断推...

aics6序列号永久序列号(aics6破解序列号)

关于AICS6这个版本,虽然是比较久远的版本,但是在功能上也是十分全面和强大的,作为一名平面设计师的话,AICS6的现有的功能已经能够应付几乎所有的设计工作了……到底AICC2019的功能是不是...

win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
手机可以装电脑系统吗(手机可以装电脑系统吗怎么装)

答题公式1:手机可以通过数据线或无线连接的方式给电脑装系统。手机安装系统需要一定的技巧和软件支持,一般需要通过数据线或无线连接的方式与电脑连接,并下载相应的软件和系统文件进行安装。对于大部分手机用户来...