深度学习API——keras初学

keras定义:

Keras是一个深度学习API(人工神经网络库),使用Python语言编写的github开源项目,主要开发者为谷歌工程师。Keras底层可调用不同的机器学习平台,如TensorFlow、Theano或micsoft-CNTK。

作用:keras主要功能是简化机器学习平台的调用方式。

调用流程:

大概流程:根据输入(训练数据集)和输出(测试数据集),推测出中间逻辑和关系。

需求:使用深度学习来识别手写字识别

1.加载数据集。数据集包括:训练数据集和测试数据集

from keras.datasets import mnist
path = r'C:\Users\LEGION\Desktop\datasets\mnist.npz'
(X_train, y_train), (X_test, y_test) = mnist.load_data(path)
print(X_train.shape)
print(y_train.shape)
print(X_test.shape)
print(y_test.shape)

X_train.shape 的形状为(60000, 28, 28)
y_train.shape的形状为(60000,)
X_test.shape的形状为(10000, 28, 28)
y_test.shape的形状为(10000,)

2.构建模型

 from keras.models import Sequentialfrom keras.layers import Dense,Activationmodel = Sequential()model.add(Dense(512, input_shape=(28*28,),activation='relu'))model.add(Dense(10,activation='softmax'))model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])model.fit(X_train, y_train, epochs=10, batch_size=64, verbose=1, validation_split=0.05)Testloss, Testaccuracy = model.evaluate(X_test, y_test)print('Testloss ', Testloss)print('Testaccuracy:', Testaccuracy)
  1. 第三行代码,定义模型类型,表示使用Keras中的Sequential 顺序模型。
  2. 第四行代码表示增加一个全连接层(密集层),这层有512个神经元,输入形状是(28*28,)此处的输入形状也可以写为:input_dim=28*28。Activation表示这层的激活函数使用是relu,不同的激活函数有不同的效果,大家可以自己学习。
  3. 第五行代码增加一个全连接层,这层有10个神经元,这于我们的期望输出个数一致(10个数字),激活函数使用softmax
  4. 第六行代码表示编译我们之前构建的模型,优化器选择adam,损失函数为categorical_crossentropy,指标度量选择accuracy精度。
  5. 第七行代码表示使用训练集数据来训练我们的模型,epochs表示模型的训练的时期数,每个epoch是对x,y的整个迭代,这里迭代10次。batch_size代表每个梯度更新的样本数,默认值为32. verbose:日志显示verbose = 0为不在标准输出流输出日志信息,verbose = 1为输出进度条记录,verbose=2为每个epoch输出一行记录,默认为1。validation_split按一定比例从训练集中取出一部分作为验证集。最后一行控制台输出:loss: 0.0109 - acc: 0.9964 - val_loss: 0.0862 - val_acc: 0.9823
  6. 第八行代码表示对已经训练好的模型在验证集上进行评价,打印出验证集上的损失和精度为:loss 0.0794 ,Accuracy: 0.9784。
  7. 第八行后一般会出现model.predict([np.array([features[1]]), sentence]),预测

phthon基础

r

path = r'C:\Users\LEGION\Desktop\datasets\mnist.npz'

转义字符来表示反斜杠

shape

通俗易懂的解释:每一个shape里的数字对应数组中的一对中括号,第一个数字1表示最外层的中括号。以此类推,数字2表示第二层中括号,数字3表示最里层的中括号

reshape 

数组array的合并

astype   

字符转数字 

X_train = X_train.astype('float32')/255

数学基础

二维数组的赋值:

向量:

向量维度:

思考:

数据集用什么工具生成,数据格式有什么要求

训练后的数据如何保存,如何在训练后的模型上进行识别

识别的命令是什么,输入参数是什么。

from keras.models import Input,Model
from keras.layers import Dense,Conv2D,TimeDistributedinput_ = Input(shape=(12,32,32,3))
out = TimeDistributed(Conv2D(filters=32,kernel_size=(3,3),padding='same'))(input_)
model = Model(inputs=input_,outputs=out)
model.summary()

卷积操作使用TimeDistributed,第一个12代表就是时间序列,32,32,3指的是高,宽,通道数。此处一共有896个参数,卷积核weights有3×3×3×32=864个,卷积核bias有32个。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/718250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat的配置文件

Tomcat的配置文件详解 一.Tomcat的配置文件 Tomcat的配置文件默认存放在$CATALINA_HOME/conf目录中,主要有以下几个: 1.server.xml: Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息&#x…

【推荐】免费AI论文写作神器-「智元兔 AI」

还在为写论文焦虑?免费AI写作大师来帮你三步搞定! 智元兔AI是ChatGPT的人工智能助手,并且具有出色的论文写作能力。它能够根据用户提供的题目或要求,自动生成高质量的论文。 不论是论文、毕业论文、散文、科普文章、新闻稿件&…

#WEB前端(浮动与定位)

1.实验&#xff1a; 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; float、position 没有应用浮动前 应用左浮动和右浮动后 应用定位 4.代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…

pyqt5怎么返回错误信息给页面(警告窗口)

在软件设计中&#xff0c;我们可能会遇到对异常的处理&#xff0c;有些异常是用户需要看到的&#xff0c;比如说&#xff0c;当我们登录出错的时候&#xff0c;后端需要给我们返回响应的错误信息&#xff0c;就像下图实现的这样。 类似这种效果&#xff0c;我们该如何实现&…

javaWebssh题库管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh题库管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Mye…

「MySQL」基本操作类型

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;数据库 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 数据库的操作 创建、显示数据库 使用 create 创建一个数据库 create database goods;然后可以用 show databases 来查看已经创建的数…

我们如何知道人工智能系统有多智能?

1967 年&#xff0c;人工智能 &#xff08;AI&#xff09; 领域的创始人马文明克西 &#xff08;Marvin Minksy&#xff09; 做出了一个大胆的预测&#xff1a;“在一代人之内…创造’人工智能’的问题将得到实质性解决。假设一代人大约是 30 年&#xff0c;明斯基显然过于乐观…

javaWebssh网上超市销售管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh网上超市销售管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCA…

指针深刻理解

指针深刻理解 看完鹏哥讲的c语言进阶视频后&#xff0c;又找来C语言深度剖析这本书仔细看了一遍&#xff0c;来进一步巩固和理解指针这个重点。 1&#xff1a;数组 如上图所示&#xff0c;当我们定义一个数组 a 时&#xff0c;编译器根据指定的元素个数和元素的类型分配确定大…

突破编程_C++_STL教程( list 的实战应用)

1 std::list 的排序 1.1 基础类型以及 std::string 类型的排序 std::list的排序可以通过调用其成员函数sort()来实现。sort()函数使用默认的比较操作符&#xff08;<&#xff09;对std::list中的元素进行排序。这意味着&#xff0c;如果元素类型定义了<操作符&#xff…

身份证识别系统(安卓)

设计内容与要求&#xff1a; 通过手机摄像头捕获身份证信息&#xff0c;将身份证上的姓名、性别、出生年月、身份证号码保存在数据库中。1&#xff09;所开发Apps软件至少需由3-5个以上功能性界面组成。要求&#xff1a;界面美观整洁、方便应用&#xff1b;可以使用Android原生…

ChatGPT聊图像超分

笔者就YOLO系列方法询问了ChatGPT的看法&#xff0c;可参考&#xff1a; ChatGPT是如何看待YOLO系列算法的贡献呢&#xff1f; 续接前文&#xff0c;今天继续拿图像超分领域的经典方法来询问ChatGPT的看法&#xff0c;这里主要挑选了以下几个方案SRCNN、ESPSRN、EDSR、RCAN、…

JS 对象数组排序方法测试

输出 一.Array.prototype.sort() 1.默认排序 sort() sort() 方法就地对数组的元素进行排序&#xff0c;并返回对相同数组的引用。默认排序是将元素转换为字符串&#xff0c;然后按照它们的 UTF-16 码元值升序排序。 由于它取决于具体实现&#xff0c;因此无法保证排序的时…

数据可视化基础与应用-02-基于powerbi实现医院数据集的指标体系的仪表盘制作

总结 本系列是数据可视化基础与应用的第02篇&#xff0c;主要介绍基于powerbi实现医院数据集的指标体系的仪表盘制作。 数据集描述 医生数据集doctor 医生编号是唯一的&#xff0c;名称会存在重复 医疗项目数据projects 病例编号是唯一的&#xff0c;注意这个日期编号不是真…

面试时如何回答接口测试怎么进行

一、什么是接口测试 接口测试顾名思义就是对测试系统组件间接口的一种测试&#xff0c;接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 …

【C++ 07】string 类的常用接口介绍

文章目录 &#x1f308; Ⅰ string 类对象的常见构造函数&#x1f308; Ⅱ string 类对象的容量相关操作&#x1f308; Ⅲ string 类对象的访问及遍历1. 下标访问及遍历2. 正向迭代器访问3. 反向迭代器访问 &#x1f308; Ⅳ string 类对象的修改操作1. 插入字符或字符串2. 字符…

数据分析业务面试题

目录 Q1:请简述数据分析的工作流程? Q2:你经常用到的数据分析方法有哪些,举例说明? Q3:公司最近一周的销售额下降了,你如何分析下降原因? Q4:店铺销售额降低如何分析? Q5:若用户留存率下降如何分析? Q6:店铺商品销售情况分布后 Q7:如何描述店铺经营状况?…

Vue前端的工作需求

加油&#xff0c;新时代打工人&#xff01; 需求&#xff1a; 实现带树形结构的表格&#xff0c;父数据显示新增下级&#xff0c;和父子都显示编辑。 技术&#xff1a; Vue3 Element Plus <template><div><el-table:data"tableData"style"width…

了解游戏中的数据同步

目录 数据同步 通过比较来看状态同步和帧同步 状态同步 帧同步 帧同步实现需要的条件 两者相比较 数据同步 在联机游戏中&#xff0c;我的操作和数据要同步给同一局游戏中其他所有玩家&#xff0c;其他玩家的操作和数据也会同步给我。这叫做数据同步&#xff0c;目前数据…

国产数据库概述

这是ren_dong的第33篇原创 1、什么是数据库&#xff1f; 1.1、基本概念 定义&#xff1a;数据库是 按照一定的数据结构组织、存储和管理数据的仓库。可视为电子化的文件柜&#xff0c;用户可以对文件中的数据进行新增、查询、更新、删除等操作。 作用&#xff1a;业务数据 存储…