本节提示:
1、第一个dl例子;
2、tensor和tensor操作;
3、DL如何通过逆向传播和梯度下降达到学习目的。
2.1 输入数据集的格式
from keras.datasets import mnist
(train_images,train_labels),(test_images,test_labels) = mnist.load_data()
print('train_image_shape',train_images.shape)
print('train_labels_len',len(train_labels))
print('train_labels',train_labels)

train_image_shape (60000, 28, 28)
train_labels_len 60000
train_labels [5 0 4 ... 5 6 8]

2.2训练网络结构
network = models.Sequential()
network.add(layers.Dense(512,activation = 'relu',input_shape = (28*28,)))
network.add(layers.Dense(10,activation='softmax'))

layers(层)是训练网络的最基本组成部分,它读入数据,输出对于结果来说更有用的结果。
我们这里建立的层是全连接层,注意这里的input_shape用了(28*28,)这种表示方式。最后输出的结果是10选1的结果。
2.3编译模型
network.compile(optimizer='rmaprop',loss='categorical_crossentropy',metrics=['accuracy'])
下一步,为了让DL能够开始训练,我们还需要额外的3个构建:
一个损失函数(a loss function)—用于计算系统训练的准确效果;
一个优化函数(an optimizer)—用于定义优化方法;
在训练的时候的度量—一般都是acc。
2.4处理数据集
在之前的读入的数据中,图片保存在类似(60000,28,28)这样的结构中,不方便处理,这里进行转换
train_images = train_images.reshape((60000,28*28))
train_images = train_images.astype('float32')/255
test_images = test_images.reshape((10000,28*28))
test_images = test_images.astype('float32')/255

一方面是reshape,另一方面是转换成float32结构。这两个都是非常常见的操作。
2.5进行one_hot处理
from keras.utils import to_categorical
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)

变成这样:
2.6 现在就尝试训练
network.fit(train_images,train_labels,epochs=5,batch_size=128)
回顾一下这里输入模型的数据
rain_images 是数量*(长*宽)
train_labes 是onehot格式。这两个部分首先要清楚。
并且进行最后的验证
test_loss,test_acc = network.evaluate(test_images,test_labels)
 
注意,即使是这里的这些非常简单的函数和数据,如果没有GPU的支持,也可能是需要较长时间才能够运行的。
2.7 什么是tensor
经常看见的tensor这个词,所谓tensor,就是数据的容器(a container for data)
比如
np.array(12)就是一个0D tensor
np.array([12,3,6,14])一个列表,就是一个1D tensor
np.array([12,3,6,14],
             [6,79,35,1],
             [7,80,4,36,2] )
一个列表的组合,就是一个2D tensor
再往上堆,就是3D tensor,也是比较好理解的
2.8  tensor的组成
主要包括3个部分
维度(rank)比如3D tensor显而易见就是3d的                     对应ndim
形状(shape)也就是具体填充tensor里面的具体内容       对于shape
种类(data type) float32 或者 float64之类                        对于dtype
具体打印一个数据
import matplotlib.pyplot as plt
digit = train_images[3]
plt.imshow(digit,cmap=plt.cm.binary)
plt.show()

这里这个两次show令人印象深刻。
2.9实际情况下的图像存储
一套256*256的128 gray的图片集可以保存在(128,256,256,1)的4d tensor中;而一套同样大小的彩色图像可以保持在(128,256,256,3)的tensor中。
如果是video data,往往必须是5维数据。

来自为知笔记(Wiz)

附件列表

目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com

DL_WITH_PY系统学习(第2章)相关推荐

  1. ​DL_WITH_PY系统学习(第3章)

    本节提示: 1.DL的核心构建 2.Keras的简单介绍 3.搭建DL机器训练环境 4.使用DL模型解决基础问题 3.1 DL的基本构建:layer layer的定义:以1个或多个tensor作为输入 ...

  2. Linux系统学习第四章:文件压缩、打包与备份(二)备份与还原

    一.备份:dump (1)dump -S  设备名 :显示需要备份的设备所在分区所需要的最小的容量 1 [root@localhost php]# dump -S /dev/sda2 2 471040 ...

  3. Java I/O系统学习系列二:输入和输出

    编程语言的I/O类库中常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象."流"屏蔽了实际的I/O设备中处理数据的细节. 在这个系列的第一篇 ...

  4. 知乎高赞回答:是否有必要系统学习概率图模型?

    概率图模型(PGM)是用图来表示变量概率依赖关系的理论.自被图灵奖获得者Pearl提出以来,已成为不确定性推理近10年的研究热点,在统计机器学习.语音识别.计算机视觉和自然语言处理等领域有广阔的理论研 ...

  5. 《Go语言圣经》学习笔记 第一章 Go语言入门

    Go语言圣经学习笔记 第一章 Go语言入门 目录 Hello, World 命令行参数 查找重复的行 GIF动画 获取URL 并发获取多个URL Web服务 本章要点 注:学习<Go语言圣经&g ...

  6. 《SysML精粹》学习记录--第九章

    <SysML精粹>学习记录 第九章:参数图 参数图简介 参数图元素 小结 第九章:参数图 参数图简介   参数图是一种独特的SysML图,它用于说明系统的约束.这些约束一般以数学模型的方式 ...

  7. 《SysML精粹》学习记录--第二章

    <SysML精粹>学习记录 第二章:系统建模语言概览 SysML介绍 SysML与UML SysML图概览 SysML通用图 小结 第二章:系统建模语言概览 SysML介绍   SysML ...

  8. 乐行学院Redis5学习教程 第一章redis5的安装

    乐行学院Redis5学习教程 第一章redis5的安装 1.安装虚拟机 2.centeros下载 3.vmware安装centeros 4.vmware安装centeros设置IP 5.安装redis ...

  9. 《谁说菜鸟不会数据分析》学习笔记 第一章总览 第二章数据分析思路

    网上的信息太琐碎了,根本没搞懂什么是数据分析方法什么是数据分析方法论,所以找了一本比较简单的书来系统学习一下,本来打算粗略看完,但是觉得这本书知识还是不错的,所以决定在未来一周把这本书用心学一下. 这 ...

最新文章

  1. uni 根目录路径_如何解决uniapp图片路径错误问题
  2. 怎样在Win7系统建立并开启Wifi热点
  3. 对Dev的GridControl/GridView控件进行分组并展开操作
  4. Linux /dev目录详解和Linux系统各个目录的作用
  5. oracle安装 redo log file,Oracle Dump Redo Log File 说明
  6. 语音编码分类及编解码标准
  7. 莉莉丝《剑与远征》:基于阿里云全站加速提升用户体验
  8. 错误类型、混淆矩阵及目标检测常用评价指标
  9. python使用sqlalchemy判断数据库是否包含某张表
  10. static_cast与dynamic_cast转换
  11. 修改hosts文件,解决端口占用方法
  12. 数据挖掘案例实战:利用LDA主题模型提取京东评论数据(四)
  13. Just Cause系列游戏品鉴
  14. 用p5.js绘制创意自画像
  15. 未来交通技术发展现状和我国面临的挑战
  16. 《Storm实时数据处理》一2.3 创建日志Spout
  17. 大数据是啥?大数据特点 大数据概念
  18. 截图工具因为计算机无法使用,win7系统电脑自带截图工具不能用失灵了的解决方法...
  19. Python——切片操作
  20. 企业责任彰显品牌价值,EBC金融集团助力投资者财富增值

热门文章

  1. angular 用拦截器统一处理http请求和响应 比如加token
  2. OSChina 周二乱弹 ——假期综合症
  3. Too many levels of symbolic links
  4. Mono项目宣布将整合F#
  5. search result
  6. switch……case里的case能不能同时定义多个值呢?
  7. [.net 面向对象编程基础] (18) 泛型
  8. 关于技术学习的思考【转】
  9. 图像偏色检测算法,速度快,效果好,共享给大家。
  10. 如何使用MSTSC命令远程连接服务器或客户端