深度学习平台 北京理工大学 讲座课件_第1页
深度学习平台 北京理工大学 讲座课件_第2页
深度学习平台 北京理工大学 讲座课件_第3页
深度学习平台 北京理工大学 讲座课件_第4页
深度学习平台 北京理工大学 讲座课件_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深度学习平台小组成员:时

间:BIT

|

SINCE

19401234概述目录深度学习平台简介深度学习平台实践总结CONTENTS概述1深度学习是什么l

深度学习(Deep

Learning):n

机器学习最重要的分支n

它的

H

i

d

d

e

nlayer的神经网络n

象的高层特征42深度学习热度数据、算法、计算力53深度学习特性优点:缺点:1.

学习能力强1.

计算量大、便携性差2.

硬件需求高2.

覆盖范围广、适应性好3.

数据驱动、上限高4.

可移植性好3.

模型设计复杂4.

没有“人性”、容易存在偏见64深度学习平台平台优势利用硬件资源、简化计算图搭建、简化偏导操作、高效运行、降低入门门槛发展状况7深度学习平台简介TensorflowPyTorch123PaddlePaddle其它平台41.TensorFlow1.1TensorFlow简介Te

n

s

o

r

F

l

o

w

深度

2

0

1

5

,Te

n

s

o

r

F

l

o

w

2

2

0

1

9

。Te

n

s

o

r

F

l

o

w

图进

被应

音识

学习

。Tensor:张量

Flow:流101.2TensorFlow发展历史2019年2018年TensorFlow的2.0版本发布,简化了模型开发流程,并提供了更强大的跨平台能力2017年Te

n

s

o

r

F

l

o

w生

核心

,更

了生

境2016年TensorFlow的1.0版本正式发布,更注重API的稳定性2015年支持分布式计算;谷歌大脑团队发布

同时增加了对Windows环境的支持了TensorFlow并对代码开源111.3TensorFlow2.0与1.0对比Te

n

s

o

r

F

l

o

w

2

.

0

是采

制Te

n

s

o

r

F

l

o

w

2

.

0

使

是会

话Te

n

s

o

r

F

l

o

w

1

.

0

的优

势Te

n

s

o

r

F

l

o

w

2

.

0

高级

A

P

I121.4TensorFlow的特点可移植性多语言支持Te

n

s

o

r

F

l

o

w

C

P

U

G

P

U

运行

设备

行支

p

y

t

h

o

n

,j

a

va

c

+

+

等可视化训练过程高度的灵活性Te

n

s

o

r

F

l

o

w

使

Te

n

s

o

r

B

o

a

r

d

训练

化只

流图

使

Te

n

s

o

r

F

l

o

w131.5TensorFlow基本概念——数据流图数据流图result+

opyTe

n

s

o

r

F

l

o

w

都代

有两

t

f.

O

p

e

r

a

t

i

o

n

代表

位x

t

f.

Te

n

s

o

r

数据

位141.5TensorFlow基本概念——Tensor(张量)在TensorFlow的数据流图中,线(Edges)表示在节点间相互联系的多维数据数组,即张量(Tensor)一个张量中主要保存了三个属性:名字(name)、维度(shape)、类型(type)result+创建恒定的张量x=[1,3,6],y=[1,1,1]opyx151.5TensorFlow基本概念——operation(操作)在TensorFlow的数据流图中,节点(Nodes)表示操作,即operationresult定义操作单元+opyx161.6TensorFlow的实用工具——TensorBoardTensorBoard是TensorFlow内置的一个可视化工具,它通过将TensorFlow程序输出的日志文件的信息可视化,使得TensorFlow程序的理解、调试和优化更加简单高效。利用TensorBoard可以更直观的看见整个神经网络的结构,观察模型的结构和训练过程中各个参数的变化。171.6TensorFlow的实用工具——TensorBoardinput节点的深层信息图使用TensorBoard对数据图结构可视化181.6TensorFlow的实用工具——TensorFlow

LiteTensorFlow

Lite是为了解决TensorFlow在移动平台和嵌入式端过于臃肿而定制开发的轻量级解决方案,允许用户在多种设备上运行。TensorFlow

Lite模型具有占用空间小,低延迟的特点。TensorFlowTensorFlow

Lite191.6TensorFlow的实用工具——TensorFlow

Lite以移动端为例在手机移动端上,使用TensorFlowlite解析器读取该模型,将模型部署在移动端上并高效的运行它。用TensorFlow转化器把训练好的模型转化成TensorFlowlite的格式在高性能的电脑上用数据训练出神经网络的参数201.7TensorFlow的应用英语流利说使用TensorFlow训练

AI

老师京东基于TensorFlow

做大规模推荐Airbnb

TensorFlow

做图片分类。系统自动把房东上传的图片分类成客厅、厨房和卧室可口可乐用

TensorFlow

来解决抽奖码扫码输入的问题基于

TensorFlow

的深度神经网络解决大规模计算问题,研究极端天气以及它们对地球的影响安徽中医药大学的一位老师,在用

TensorFlow

来识别中医药材的切片212.PyTorch2.1PyTorch从何而来?Py

+

TorchP

y

Torc

h是

于Torc

h的P

y

thon开源机器学习框架,

快从

。通

处理

。232.2PyTorch

发展历史2

0

1

7

1

P

y

To

rc

h2

0

1

8

4

0

.

4

.

0

支持Windows系统2

0

1

9

5

1

.

1

.

0

支持TensorBoard2

0

1

9

8

1

.

2

.

0

torchvision2

0

2

1

6

1

.

9

.

0

版242.3PyTorch的特点简洁优雅高效快速t

e

n

s

o

r

a

u

t

o

g

r

a

d→

n

n

.

M

o

d

u

l

e保

时不

价易于使用社区活跃A

P

I

To

r

c

h作者亲自维护论坛,最

架FAIR的支持确保持续的开发更新252.4PyTorch基础知识Tensor张量是PyTorch里的基本运算单位,类似于numpy中的ndarray,但Tensor可以使用GPU加速运算。互相转换262.4PyTorch基础知识AutogradAutograd模块实现了深度学习算法中的反向传播求导,在Tensor上的所有操作,Autograd都能为它们自动计算微分。操作设置通过设置requires_grad

=

True来对该张量进行自动求导。计

b

a

c

k

w

a

r

d

(

)

在grad中。272.5PyTorch的应用O

pe

nAI

GP

T-

3可

:https://6b.eleuther.ai/282.5PyTorch的应用DeepMind的Alphafold2,使用PyTorch进行蛋白质结构预测。293.PaddlePaddlePaddlePaddle3.1Pad

d

le

Pad

d

le

(

)

2

0

1

6

8

力于

设计

。313.2PaddlePaddle发展历史2016.8

2017.

2018.7

2019.4

2019.70102030405飞

型正

源1

0

先的

。Pa

d

d

l

e

F

l

u

i

dPa

d

d

l

e

H

u

b芯

持323.3PaddlePaddle的优点高度封装动静转换飞

2

.

0

A

P

I

,进

性飞

2

.

0

A

P

I

,只

器@

p

a

d

d

l

e

.

j

i

t

.

t

o

_

s

t

a

t

i

c大量官方模型库可视化于

智能

稍加

使

用飞

V

i

s

u

a

l

D

L

,可

深度

构333.4基本概念——Tensor•

shape:描述tensor的每个维度上元素的数量•

ndim:tensor的维度数量•

axis:tensor某个特定的维度•

size:tensor中全部元素的个数343.4基本概念——广播机制飞桨和其他框架一样,提供的一些API支持广播(broadcasting)机制,允许在一些运算时使用不同形状的张量,遵循Numpy的广播规则353.4基本概念——自动微分飞桨的自动微分是通过trace的方式,记录前向OP的执行,并自动创建反向var和添加相应的反向OP,然后来实现反向梯度计算的。363.5动态图转静态图动态图动态图意味着计算图的构建和计算同时发生(define+by+run)。这种机制由于能够实时得到中间结果的值,使得调试更加容易,同时我们将大脑中的想法转化为代码方案也变得更加容易,对于编程实现来说更友好。静态图静态图则意味着计算图的构建和实际计算是分开(define+and+run)的。在静态图中,会事先了解和定义好整个运算流,这样之后再次运行的时候就不再需要重新构建计算图了(可理解为编译),因此速度会比动态图更快,从性能上来说更加高效。动态图转静态图飞浆支持用户使用动态图编写组网代码,

PaddlePaddle会对用户标识的代码进行分析,将其转换为静态图网络结构,兼顾了动态图易用性和静态图部署性能两方面优势。373.6经典应用该应用基于百度飞桨开源的口罩人脸检测及分类模型,可对未佩戴口罩的人员进行识别并提示

达96.5%以上。金漉科技应用飞桨深度学习开源框架进行训练,分选效率从93%左右提升到97%

以上,与人工相差无几大恒图像使用基于飞桨开

库PaddleSeg,提升30%的缺陷检出率,

安装调试周期更是由6到8周缩减到2周。连心医疗使用PaddleSeg开发套件研发肺炎筛查系统,在测试数据集上的病灶检测精度和召回率分别达到92%和97%口罩检测垃圾分类缺陷检测肺炎筛查384.其它深度学习框架4.1其他深度学习框架——CaffeCaffe2013年贾扬清在加州大学伯克利分校攻读博士期间创建了Caffe项目。Caffe带有C++、Python和MATL

AB接口,在图像处理和视频处理领域有广泛使用。404.1其他深度学习框架——CaffeCaffe架构Caffe的核心模块有三个,分别是Blobs、Layers和Nets。•

Blobs用来进行数据存储、数据交互和处理。•

Layers是神经网络的核心,定义了许多层级结构。•

Nets是一系列Layers的集合,并且这些层结构通过连接形成一个网图。414.1其他深度学习框架——CaffeCaffe的特点Caffe

:Caffe

:•

率•

定•

差•

活•

好•

难•

CPU与GPU的无缝切换424.2其他深度学习框架——MXNetMXNetMXNet在2015年李沐等人初次发布,如今成了亚马逊的官方框架,有着非常好的分布式支持,占用显存低,同时有Python、C++、R、Matlab和JavaScript等接口。434.2其他深度学习框架——MXNetMXNet架构444.2其他深度学习框架——MXNetMXNet的特点MXNe

t

:MXNe

t

:•

果•

好的

性•

少•

烦•

支持多种设备(包括手机)•

多GP

U

练•

the

ano差454.3其他深度学习框架——CNTKCNTKCNTK

是一个由微软研究院开发的深度学习算法框架,于2016年在GitHub上开源。它是基于C++语言进行编写,提供Python和C#的接口,相比通用深度学习社区,它在语音识别社区的知名度更高。464.3其他深度学习框架——CNTKCNTK架构•

IDataReader:数据层•

CN:学习层•

IExecutionEngine:预测层474.3其他深度学习框架——CNTKCNTK的特点CNTK的

:CNTK的

:•

快•

小•

手•

备•

学习文档较规范•

多GP

U

练484.4其他深度学习框架——MindSporeMindSporeMindSpore是2019年华为推出的新一代全场景AI计算框架,2020年3月开源。该计算框架可满足终端、边缘计算、云全场景需求,能更好保护数据隐私。494.3其他深度学习框架——MindSpore504.3其他深度学习框架——MindSporeMindSpore的优势简

验灵

式只

练,

。开

切换

线

。充

能最

度地

。全

署支

,让

A

I

造51深度学习平台实践手写数字识别12使用三种框架实现•

PyTorch•

TensorFlow

2.0•

Paddle1.1手写数字识别数字识别是典型的图像分类问题,应用于邮政编码识别等领域,缩短了业务处理时间。使用基于MNIST数据集的手写数字识别模型。MNIST是深度学习领域标准、易用的成熟数据集,包含50000张训练图像和10000张测试图像。•

任务输入:手写数字图片,其中每张图片为28×28的像素矩阵•

任务输出:对应的0~9的数字标签531.2神经网络结构LeNet-5

由Yann

LeCun在1998年提出,用于识别手写数字,是经典的卷积神经网络。LeNet-5

共有7层,包括2个卷积层、2个池化层、3个全连接层。5×5卷积2×2池化5×5卷积2×2池化全连接LeNet-5

结构542基本步骤基本步骤数据加载与预处理构建模型1234训练模型评估模型552.1PyTorch

实现•

torch.nn:神经网络层和一系列损失函数•

torch.nn.functional:常见的函数•

torch.optim:常见的优化算法•

torch.utils.data:加载和迭代数据•

torchvision:服务于

PyTorch

的图像处理库562.1PyTorch

实现

——

数据加载与预处理572.1PyTorch

实现

——

构建模型582.1PyTorch

实现

——

训练模型592.1PyTorch

实现

——

评估模型上下文管理器602.2TensorFlow

实现

——

数据加载与预处理612.2TensorFlow

实现

——

构建模型三种构建模型的方式•

SequentialAPI:顺序的线性网络(不支持多输入输出和分支结构)•

FunctionalAPI:函数式编程构建模型•

SubclassingAPI:面向对象方式构建模型622.2TensorFlow

实现

——

构建模型632.2TensorFlow

实现

——

训练模型上下文管理器642.2TensorFlow

实现

——

评估模型652.3Paddle

实现

——

数据加载与预处理662.3Paddle

实现

——

构建模型两种构建模型的方式:•

SequentialAPI:顺序的线性网络(不支持多输入输出和分支结构)•

SubclassingAPI:面向对象方式构建模型672.3Paddle

实现

——

构建模型2.3Paddle

实现

——

训练模型692.3Paddle

实现

——

评估模型输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论