《深度学习之TensorFlow入门、原理与进阶实战》—3.2 模型是如何训练出来的
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函数进行计算,得到该节点的真实数值。
图3-5 模型中的图
- 点赞
- 收藏
- 关注作者
评论(0)