YA

In me the tiger sniffes the rose.

  • 主页
  • 世界之内
  • 世界之外
  • 叶隙随笔
所有文章 友链 关于我

YA

In me the tiger sniffes the rose.

  • 主页
  • 世界之内
  • 世界之外
  • 叶隙随笔

【Introduction to TensorFlow】02 初识机器学习与计算机视觉

阅读数:21857次 2019-10-29
字数统计: 1.5k字   |   阅读时长≈ 6分

本节内容包括课程week1和week2的内容,week1主要介绍了机器学习的思维逻辑,并以TF中的hello world作为示例,加深理解机器学习的范式。week2将范式的概念运用在真实的应用场景上,基于数据集Fashion MNIST实现了对10种衣物的识别任务,新的操作有:数据加载处理、模型评估、callback。

A New Programming Paradigm

主要内容

  • 两种不同的范式paradigm
  • hello world demo

独特的范式

程序编码的范式:

programmingParadigm

机器学习的范式:

machineLearningParadign

两者有截然不同的范式,机器学习的有趣之处就是我们能让计算机自己学习rules。机器学习就是计算机学习 「区分事物的模式」。

Hello World

学习了理论,开始coding来加深机器学习范式的理解。

现在我知道x=[-1,0,1,2,3,4]时对应的y=[-3,-1,1,3,5,7],那么当x=10的时候,对应的y等于多少?将这个问题抽象化:已知data(x)和answers(y),求y->x,即一个映射。这是机器学习的范式。而求解的方法,就可以用神经网络来实现,神经网络只是稍微高级一点的机器学习方法,现在被叫做深度学习。神经网络就是一组能够学习模式的函数集合而已。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
model = keras.Sequence([keras.layers.Dense(units=1, input_shape=[1])])
# Sequence,神经网络层在这里定义,好几层网络连在一起,所以才称之为sequence。
# dense,定义了1层相连的神经元,这里只有1个dense,即1层。units表示这一层中有几个神经元,这里只有1个。所以整个结构只有1层神经元,这一层里只1个神经元。然后,input_shape定义了input的形状,这里只有一个值。

model.compile(optimizer='sgd', loss='mean_squared_error')
# Compile,内部参数是损失函数和优化器。
# 损失函数:神经网络不知道x和y的关系,所以瞎猜。损失函数来衡量它猜测的好坏。
# 优化器:损失函数把好坏的结果给优化器,然后优化器使得神经网络下一次瞎猜的结果变得更好。这样一轮轮地瞎猜-评价-改正下去,最终正确率会变成接近100%,这就叫收敛(Converge)。

xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float)
ys = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype=float)

model.fit(xs, ys, epochs=10)
# fit,开始模型的训练,epoch表示训练几次,也就是上面所说的,瞎猜-评价-改正多少次。

print(model.predict([10.0]))
# predict,模型已经训练好,rule已经解出来了,所以接下来的预测就是一个rule+data、得到output的过程。

实际上,当我们输入10,结果不是19,是一个和19很接近的数。比如18.72。为什么?

  • 我们只给了6个点,虽然目前来看是线性的,但是实际上,不能确保之后的点都是线性的。
  • 神经网络不确定之后的解是否也是线性的,只能说x=10时,y=19的可能性很大,但是不一定。

Introduction to Computer Vision

主要内容

  • Fashion MNIST介绍
  • 训练神经网络,使得计算机可以识别Fashion MNIS中的10中衣物。

上一节学习了机器学习的范式,并学会用TF通过数据和答案得到两者之间的rules。本节课的目的是将这种行为运用在实际应用中——计算机视觉。上一节我们说到,机器学习就是计算机学习 「区分事物的模式」,本节我们就想要用数据+答案的方式,使得计算机能够学习到区分某一个事物的模式。

具体来说,我们有一个数据集Fashion MNIST:

  • 70k images
  • 10 categories
  • Images are 28X28 in gray scale *
  • Can train a neural net

数据集中有10种不同的物品,衣服、鞋子、裤子……我们的目的就是,数据(images)+答案(是衣服还是鞋子还是……),来让计算机学习到区分这10样东西的模式。

加载数据集

1
2
fashion_mnist = keras.datasets.fashion_mnist
(train_images,train_labels),(test_images,test_labels)=fashion_minist.load_data()

load_data,返回四个列表

60k用来训练,10k测试

为什么用数字作为标识,而不是直接用文字比如 ”ankle boot“?

  • 计算机适合处理数字
  • 帮助我们减少偏见

Normalizing

1
2
training_images  = training_images / 255.0
test_images = test_images / 255.0

normalizing,使得每个pixel保持在0-1之间,有利于训练。如果仍在0-255,那么造成的loss会很大。

定义神经网络

1
2
3
4
5
6
7
8
model = keras.Sequence([
keras.layers.Flatten(input_shape(28,28)),
# flatten,讲一个28*28的二维矩阵编程一维的简单线性数组
keras.layers.Dense(128,activation=tf.nn.relu),
#middle layer/ hidden layer#
keras.layers.Dense(10,activation=tf.nn.softmax)
# output layer,有十个物品需要识别,对应就是10个神经元
])

middle/ hidden layer,实现的其实是一个映射,如下图:

cv-nueral

就像我们上一节的内容,我们还是可以把它简单理解成一个求函数的过程。这里有128个神经元,每一个神经元相当于一个系数,可以称呼它们为w1,w2,w3,…,w128

这次求的不是y=2x-1,而是更复杂的,使得当x=一张靴子的图片时,y=9。其实神经网络做的本质上就是一种映射。

训练评估

1
2
3
4
5
6
7
8
model.compile(optimizer = tf.train.AdamOptimizer(),
loss = 'sparse_categorical_crossentropy',
metrics=['accuracy'])

model.fit(training_images, training_labels, epochs=9)
# epoch如果太多,会造成过拟合。

model.evaluate(test_images, test_labels)

Callback

准确率不需要太高,如果太高不一定是一件好事,也许是overfiting。因此,可以使用callback,当模型准确率达到我们要求的值时,就停止训练。

首先定义一个callback类

1
2
3
4
5
class myCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs={}):
if(logs.get('loss')<0.4): # 当准确率到0.6时停止
print("\nReached 60% accuracy so cancelling training!")
self.model.stop_training = True

作为变量放入在model.fit中

1
2
3
4
5
6
callbacks = myCallback()

model = keras.Sequence(...)
model.compile(...)
model.fit(...)
model.fit(training_images, training_labels, epochs=9, callbacks=[callbacks])
赏

谢谢你请我吃糖果

支付宝
微信
  • 本文作者: YA
  • 本文链接: http://www.yuuuuang.com/2019/10/29/【Introduction-to-TensorFlow】02-初识机器学习与计算机视觉/
  • 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
  • 世界之内
  • 机器学习

扫一扫,分享到微信

【Introduction to TensorFlow】03 卷积神经网络与复杂数据集
【Introduction to TensorFlow】01 TF 快速入门
  1. 1. A New Programming Paradigm
    1. 1.1. 主要内容
    2. 1.2. 独特的范式
    3. 1.3. Hello World
  2. 2. Introduction to Computer Vision
    1. 2.1. 主要内容
    2. 2.2. 加载数据集
    3. 2.3. Normalizing
    4. 2.4. 定义神经网络
    5. 2.5. 训练评估
    6. 2.6. Callback
© 2018-2025 YA
GitHub:hexo-theme-yilia-plus by Litten
本站总访问量25436次 | 本站访客数20594人
  • 所有文章
  • 友链
  • 关于我

tag:

  • 随笔
  • 年终总结
  • 世界之内
  • 世界之外
  • 叶隙集
  • 机器学习
  • 叶隙随笔
  • 图像处理
  • 数据挖掘

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 2024年终总结

    2025-04-08

    #随笔#年终总结

  • 【叶隙集】41 盘旋的白文鸟

    2025-01-12

    #随笔#叶隙集

  • 大语言模型正在伤害人机交互领域的研究

    2025-01-05

    #随笔#世界之内

  • 【叶隙集】40 台湾旅行

    2024-12-22

    #随笔#叶隙集

  • 【叶隙集】39 搬家了

    2024-09-05

    #随笔#叶隙集

  • 2023年终总结

    2024-06-27

    #随笔#年终总结

  • 【叶隙集】38 参加学术会议

    2024-05-22

    #随笔#叶隙集

  • Notes of 3D Gaussian Splatting

    2024-03-19

    #世界之内

  • 【叶隙集】37 音乐会和朋友

    2023-12-04

    #随笔#叶隙集

  • 【叶隙集】36 QE和音乐会

    2023-11-02

    #随笔#叶隙集

  • 【叶隙集】35 新室友和更积极的生活

    2023-09-11

    #随笔#叶隙随笔

  • 读书笔记|《规训与惩罚》

    2023-08-27

    #随笔#世界之外

  • 【叶隙集】34 无法参加学术会议

    2023-06-28

    #随笔#叶隙集

  • 【叶隙集】33 回国后与朋友和家人们的聚会

    2023-06-11

    #随笔#叶隙集

  • 视频压缩技术概述

    2023-04-28

    #世界之内

  • 2022年终总结

    2023-03-31

    #随笔#年终总结

  • 【叶隙集】32 平和的心态

    2022-12-27

    #随笔#叶隙集

  • 【叶隙集】31 双相情绪障碍症

    2022-12-17

    #随笔#叶隙集

  • 【学习笔记】CS5229 Advanced Computer Network

    2022-12-17

    #世界之内

  • 【叶隙集】30 下半学期太忙了!

    2022-11-25

    #随笔#叶隙集

  • 【叶隙集】29 当助教的半个学期

    2022-10-07

    #随笔#叶隙集

  • 【叶隙集】28 忙碌的第一个月

    2022-08-31

    #随笔#叶隙集

  • 【叶隙集】27 老师的职责

    2022-07-31

    #随笔#叶隙集

  • 【叶隙集】26 新加坡太难找工作了

    2022-07-23

    #随笔#叶隙集

  • 【叶隙集】25 生产工具、学习生活和阅读笔记

    2022-07-15

    #随笔#叶隙集

  • 【叶隙集】24 学习、科研、旅行和爱与关怀

    2022-06-24

    #随笔

  • 【叶隙集】23 学习与研究

    2022-04-26

    #随笔#叶隙集

  • 【学习笔记】人工智能规划与决策

    2022-04-26

    #世界之内

  • 博士申请的总结

    2022-03-31

    #随笔

  • 【叶隙集】22 新的体验和宗教

    2022-03-07

    #随笔#叶隙集

  • 2021年终总结

    2022-01-08

    #随笔#年终总结

  • 【叶隙集】21 新朋友和学术报告

    2021-10-31

    #随笔#叶隙集

  • 【叶隙集】20 音乐会与教训

    2021-10-19

    #随笔#叶隙集

  • 【叶隙集】19 六周年纪念日

    2021-10-03

    #随笔#叶隙集

  • 【叶隙集】18 疫情与疫苗

    2021-09-24

    #随笔#叶隙集

  • 摘录|联合国2021年气候问题总结报告的摘要

    2021-09-19

    #世界之外

  • 【叶隙集】17 音乐会和读书

    2021-09-08

    #随笔#叶隙集

  • 【叶隙集】16 喜欢上了游泳

    2021-09-01

    #随笔#叶隙集

  • 【叶隙集】15 课前的夜曲

    2021-08-24

    #随笔#叶隙集

  • 【叶隙集】14 平稳的学习生活

    2021-08-16

    #随笔#叶隙集

  • 【叶隙集】13 生活与朋友

    2021-07-15

    #随笔#叶隙集

  • 【叶隙集】12 毕业

    2021-06-30

    #随笔#叶隙集

  • 【叶隙集】11 毕业前的生活

    2021-06-23

    #随笔#叶隙集

  • 读书笔记|《国境以南,太阳以西》读后感

    2021-06-17

    #随笔

  • 【叶隙集】10 青甘环线旅行

    2021-06-13

    #随笔#叶隙集

  • 半监督学习|论文粗读

    2021-06-07

    #机器学习

  • 【叶隙集】9 纯粹地生活

    2021-06-06

    #随笔#叶隙集

  • 【叶隙集】8 生活的界限

    2021-05-30

    #随笔#叶隙集

  • 【叶隙集】7 隔离结束

    2021-05-21

    #随笔#叶隙集

  • 【叶隙集】6 隔离生活

    2021-05-14

    #随笔#叶隙集

  • 【叶隙集】5 新的阶段

    2021-05-08

    #随笔#叶隙集

  • 【叶隙集】4 团队管理

    2021-04-30

    #随笔#叶隙集

  • 【叶隙集】3 过低的自我评价

    2021-04-23

    #随笔#叶隙集

  • 【叶隙集】2 方向与交往

    2021-04-16

    #随笔#叶隙集

  • 【叶隙集】1 原爆点-续

    2021-04-08

    #随笔#叶隙集

  • 随笔|目的与纯粹

    2021-03-28

    #随笔

  • 随笔|白文鸟

    2021-01-20

    #随笔

  • 写在一百以后——2020年终总结

    2021-01-01

    #随笔#年终总结

  • 随笔|选择

    2020-12-25

    #随笔

  • 读书笔记|《人生的意义》总结、摘录

    2020-11-25

    #世界之外

  • 书评|Normal People, Normal Love

    2020-10-07

    #随笔

  • Decision Making|人工智能、机器学习与强化学习的概述与比较

    2020-10-03

    #世界之内

  • 随笔|疫情后的总结

    2020-09-10

    #随笔

  • 学习笔记@PRML|1 Introduction

    2020-07-31

    #世界之内

  • 随笔|面试后的回顾与思考

    2020-07-26

    #随笔

  • 数据挖掘|数据挖掘概论笔记

    2020-06-24

    #世界之内#数据挖掘

  • 续写|美女或野兽

    2020-06-18

    #随笔

  • 随笔|无常

    2020-05-31

    #随笔

  • 现象学|胡塞尔《小观念》笔记

    2020-05-13

    #世界之外

  • 随笔|我的局限性

    2020-05-13

    #随笔

  • 随笔|胡乱的记录

    2020-04-09

    #随笔

  • 随笔|疫情

    2020-02-16

    #随笔

  • 随笔|怅惘地忖度

    2020-01-29

    #随笔

  • 2019年终总结

    2019-12-08

    #随笔#年终总结

  • 机器学习|Flow-based Model学习笔记

    2019-11-06

    #世界之内#机器学习

  • 【Introduction to TensorFlow】03 卷积神经网络与复杂数据集

    2019-10-31

    #世界之内#机器学习

  • 【Introduction to TensorFlow】02 初识机器学习与计算机视觉

    2019-10-29

    #世界之内#机器学习

  • 【Introduction to TensorFlow】01 TF 快速入门

    2019-10-29

    #世界之内#机器学习

  • 【Introduction to TensorFlow】00 课程概览

    2019-10-29

    #世界之内#机器学习

  • 随笔|呓语

    2019-10-27

    #随笔

  • 周记|面纱 久别重逢

    2019-09-21

    #随笔

  • 学习笔记|拟合优化

    2019-09-15

    #世界之内

  • 周记|爱人 体验 芝诺

    2019-09-07

    #随笔

  • 摘录|造成不幸福的原因之六:嫉妒

    2019-09-06

    #世界之外

  • 随笔|虚无 纵欲

    2019-08-22

    #随笔

  • 周记|尘埃落定

    2019-06-29

    #随笔

  • 周记|本能 愉悦 基因

    2019-06-12

    #随笔

  • 周记|空荡荡

    2019-06-02

    #随笔

  • 四月裂帛——读《女儿红》

    2019-05-30

    #随笔#世界之外

  • 机器学习|主成分分析

    2019-05-10

    #世界之内#机器学习

  • 《好运设计》史铁生

    2019-05-09

    #世界之外

  • 机器学习|感知机与支持向量机

    2019-04-27

    #世界之内#机器学习

  • 周记|记忆 概念 庸俗

    2019-04-27

    #随笔

  • 机器学习|模型评估与选择

    2019-04-17

    #世界之内#机器学习

  • 机器推理|SLD Resolution

    2019-04-06

    #世界之内

  • 第五代计算机

    2019-03-31

    #世界之内

  • 学习笔记|Volume Rendering

    2019-03-31

    #世界之内#图像处理

  • 周记|三月驼云

    2019-03-28

    #随笔

  • 生成对抗网络与强化学习:文本生成的方法

    2019-03-11

    #世界之内

  • 《桨声灯影里的秦淮河》俞平伯

    2019-03-09

    #世界之外

  • 周记|雨

    2019-03-09

    #随笔

  • 《春之积雪》简媜

    2019-03-01

    #世界之外

  • 周记|逃离

    2019-02-15

    #随笔

  • 存在主义是一种人道主义

    2019-02-11

    #世界之外

  • 学习笔记|比较文学

    2019-02-09

    #世界之外

  • 尼采的美学

    2019-02-01

    #世界之外

  • 哲学涉猎

    2019-02-01

    #世界之外

  • 读书笔记|光的诗人——《如何看懂印象派》

    2019-01-28

    #随笔#世界之外

  • 叔本华的生命意志哲学

    2019-01-25

    #世界之外

  • 再也不要把他们弄丢了

    2019-01-21

    #随笔

  • 2018年终总结

    2018-12-31

    #随笔#年终总结

  • 人类的心理行为模式

    2018-12-25

    #世界之外

  • 周记|神经症人格

    2018-12-22

    #随笔

  • 【周记】旋转

    2018-11-30

    #随笔

  • 七牛云Bucket失效

    2018-11-21

    #世界之内

  • 周记|从前的日色慢

    2018-11-21

    #随笔

  • 【数理逻辑】Incompleteness Theorem

    2018-11-10

    #世界之外

  • 专业随想

    2018-11-05

    #随笔

  • 生活

    2018-11-04

    #世界之外

  • 计算机组成与体系结构

    2018-11-04

    #世界之内

  • 【强化学习】Policy Gradient

    2018-11-03

    #世界之内

  • 怀疑是否有价值——怀疑论

    2018-10-30

    #世界之外

  • 周记|Every hero and coward

    2018-10-20

    #随笔

  • Web in Java

    2018-10-11

    #世界之内

  • 周记|十月女泽

    2018-10-02

    #随笔

  • 托福备考

    2018-09-28

    #世界之内

  • 周记|裸体之舞

    2018-09-24

    #随笔

  • 周记|中秋幸福

    2018-09-18

    #随笔

  • History of artificial intelligence

    2018-09-09

    #世界之外

  • 周记|我那无趣的灵魂

    2018-09-09

    #随笔

  • Softmax Regression

    2018-09-08

    #世界之内

  • 周记|Rational

    2018-09-02

    #随笔

  • 贰 《SICP》笔记:模块化、对象和状态

    2018-08-05

    #世界之内

  • 周记|困倦

    2018-08-04

    #随笔

  • 壹 《SICP》笔记:构造数据抽象

    2018-07-31

    #世界之内

  • 周记|原爆点

    2018-07-31

    #随笔

  • 零 《SICP》笔记:构造过程抽象

    2018-07-23

    #世界之内

  • Norms or maybe more

    2018-07-09

    #世界之内

  • 事已至此

    2018-06-24

    #随笔

  • 【增强学习】AirSim搭建

    2018-06-02

    #世界之内

  • 【机器学习】BP算法

    2018-05-26

    #世界之内

  • 【康德】宏大的哲学语境

    2018-05-26

    #世界之外

  • 【康德】康德的研究领域是什么

    2018-05-11

    #世界之外

  • 【高等数学】什么是梯度(期中考试复习思考)

    2018-04-29

    #世界之内

  • 《自控力》读书笔记

    2018-04-21

    #随笔

  • 【线性代数】The Essence of Linear Algebra

    2018-04-21

    #世界之内

  • 【数据结构与算法】临时抱佛脚

    2018-03-10

    #世界之内

  • 科技革命与人类社会——《论工业社会及其未来》读后感

    2018-03-08

    #随笔

  • 《论工业社会及其未来》原文摘录

    2018-02-23

    #世界之外

  • 《如何高效学习》读后总结

    2018-02-19

    #随笔

  • 《精进》chapter-2读后总结

    2018-02-13

    #随笔

  • A Review of Brian - Inspired Computer Vision

    2018-02-11

    #世界之内

  • 最近有个女生,说对我很失望

    2017-12-07

    #随笔

  • 病入膏肓

    2017-01-29

    #随笔

  • 白文鸟

    2016-10-29

    #随笔

  • 《不能承受的生命之轻》读后感

    2016-07-13

    #随笔

  • 都五月份了

    2016-04-29

    #随笔

  • 《四月裂帛》简媜

    2014-09-29

    #世界之外

  • Wuuuudle
  • Nemo
  • Elmo (yyh)
  • highestpeak
  • Kazoo Blog
努力做一名谦逊、独立、乐于思考的学生