《深度学习之TensorFlow入门、原理与进阶实战》—3.2 模型是如何训练出来的

举报
华章计算机 发表于 2019/05/31 13:58:40 2019/05/31
【摘要】 本书摘自《深度学习之TensorFlow入门、原理与进阶实战》一书中的第3章,第3.2.1节,编著是李金洪.

3.2  模型是如何训练出来的

  在上面的例子中仅仅迭代了20次就得到了一个可以拟合y≈2x的模型。下面来具体了解一下模型是如何得来的。

3.2.1  模型里的内容及意义

  一个标准的模型结构分为输入、中间节点、输出三大部分,而如何让这三个部分连通起来学习规则并可以进行计算,则是框架TensorFlow所做的事情。

  

  TensorFlow将中间节点及节点间的运算关系(OPS)定义在自己内部的一个“图”上,全通过一个“会话(session)”进行图中OPS的具体运算。

  可以这样理解:

* “图”是静态的,无论做任何加、减、乘、除,它们只是将关系搭建在一起,不会有任何运算。

* “会话”是动态的,只有启动会话后才会将数据流向图中,并按照图中的关系运算,并将最终的结果从图中流出。

  TensorFlow用这种方式分离了计算的定义和执行,“图”类似于施工图(blueprint),而“会话”更像施工地点。

  构建一个完整的图一般需要定义3种变量,如图3-5所示。

* 输入节点:即网络的入口。

* 用于训练的模型参数(也叫学习参数):是连接各个节点的路径。

* 模型中的节点(OP):最复杂的就是OP。OP可以用来代表模型中的中间节点,也可以代表最终的输出节点,是网络中的真正结构。

  如图3-5所示为这3种变量放在图中所组成的网络静态模型。在实际训练中,通过动态的会话将图中的各个节点按照静态的规则运算起来,每一次的迭代都会对图中的学习参数进行更新调整,通过一定次数的迭代运算之后最终所形成的图便是所要的“模型”。而在会话中,任何一个节点都可以通过会话的run函数进行计算,得到该节点的真实数值。

image.png

图3-5  模型中的图


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。