竹笋

注册

 

发新话题 回复该主题

Tensorflow快餐教程程序员深度学 [复制链接]

1#

作者简介:刘子瑛,阿里巴巴操作系统框架专家;CSDN博客专家。工作十余年,一直对数学与人工智能算法相关、新编程语言、新开发方法等相关领域保持浓厚的兴趣。乐于通过技术分享促进新技术进步。

文章转自:AI科技大本营(rgznai)

作为一个程序员,我们可以像学习编程一样学习深度学习模型开发。我们以Kras为例来说明。

我们可以用5步+4种基本元素+9种基本层结构,这5-4-9模型来总结。

5步法:

1.构造网络模型2.编译模型3.训练模型4.评估模型5.使用模型进行预测

4种基本元素:

1.网络结构:由10种基本层结构和其他层结构组成2.激活函数:如rlu,softmax。口诀:最后输出用softmax,其余基本都用rlu3.损失函数:catgorical_crossntropy多分类对数损失,binary_crossntropy对数损失,man_squard_rror平均方差损失,man_absolut_rror平均绝对值损失4.优化器:如SGD随机梯度下降,RMSProp,Adagrad,Adam,Adadlta等

9种基本层模型

包括3种主模型:

1.全连接层Dns2.卷积层:如conv1d,conv2d3.循环层:如lstm,gru

3种辅助层:1.Activation层2.Dropout层3.池化层

3种异构网络互联层:

1.嵌入层:用于第一层,输入数据到其他网络的转换2.Flattn层:用于卷积层到全连接层之间的过渡3.Prmut层:用于RNN与CNN之间的接口

我们通过一张图来理解下它们之间的关系

▌五步法

五步法是用深度学习来解决问题的五个步骤:

1.构造网络模型2.编译模型3.训练模型4.评估模型5.使用模型进行预测

在这五步之中,其实关键的步骤主要只有第一步,这一步确定了,后面的参数都可以根据它来设置。

过程化方法构造网络模型

我们先学习最容易理解的,过程化方法构造网络模型的过程。

Kras中提供了Squntial容器来实现过程式构造。只要用Squntial的add方法把层结构加进来就可以了。10种基本层结构我们会在后面详细讲。

例:

fromkras.modlsimportSquntialfromkras.layrsimportDns,Activationmodl=Squntial()modl.add(Dns(units=64,input_dim=))modl.add(Activation("rlu"))modl.add(Dns(units=10))modl.add(Activation("softmax"))

对于什么样的问题构造什么样的层结构,我们会在后面的例子中介绍。

编译模型

模型构造好之后,下一步就可以调用Squntial的

分享 转发
TOP
发新话题 回复该主题