1.Tensorflow的概述原理:
tensorflow的使用类似于一种框架定义,在使用tensorflow定义变量variable,和占位符tensorflow.placeholder()的时候,给出的是一种框架的定义。只有在会话控制模块tensorflow.session中调用run(),才能让对应的语句真正的执行。
这里关于tensorflow有一个很重要的计算图的概念,意思就是在你声明的一些框架变量之后,对变量的相关计算操作都会被连接,绘制成一个计算图,叶子结点就是你声明的一些参数变量,也是你最后要进行优化的参数,在计算图绘制完成之后,在会话控制模块对计算图的根节点进行反向追踪,才能对变量进行优化,计算图的构造是自然而然的,不需要程序员操心,这只是一个概念
这里我们基于sklearn中的莺尾花数据集进行三层全连接的神经网络搭建,数据集的导入不做详细介绍
第一步:因为我们要进行分类模型的训练,首先我们需要利用tensorflow的one_hot()独热编码函数,将数据集的label集编码成为对应编码集。one_hot()中有两个核心的参数要传入,第一个就是待编码的列表格式的label集,第二个就是depth(也就是数据集是几分类就传几)。需要注意的是,这里的独热编码对象是一个列表!!!是一个列表!!列表!!重要的说三遍,函数会对传入的列表的每一个元素进行编码,如果是三分类且label为2的话就是[0,0,1]。
第二步:我们需要定义我们计算要的参数
1.输入集,input=tensorflow.placehol