如何在Tensorflow中构建神经网络?
回到之前的例子,如果你想做钱进支柱,初始化数据x创建第一层,如下图所示计算一个1,然后创建第二层并计算一个2,所以这是一种明确的向前推进的方式。
事实证明,TensorFlow是实现前向支柱的不同方式,在学习的同时,展示一种在Tensorflow中构建神经网络的不同方法,和之前一样你要创建第一层和第二层,但现在不是你手动获取数据并将其传递到第一层,然后把第一层的激活传递到第二层,相反,我们可以告诉Tensorflow我们喜欢它,把第一层和第二层串在一起形成一个神经网络,这就是张量流中的序列函数所做的,上边写着,亲爱的张量流,请为我创建一个神经网络通过顺序串在一起,我刚刚创建的这两层,事实证明,有了顺序框架,TensorFlow可以为你做很多工作。假设你在左边有一套这样的训练设备,这是咖啡的例子,然后,你可以将训练数据输入X并将它们放入一个numpy数组中,这是一个四乘二的矩阵,然后可以将目标标签y写入如下,这只是一个四维数组,为什么目标集可以存储为一个D数组,就像图表中的1001,对应四个培训实例,结果是给定存储在这个矩阵中的数据x和y,这个数组y,如果你想训练这个神经网络,你只需要调用两个函数,你需要使用一些参数调用model compile,然后你需要调用模型点拟合xy,它告诉张量流把这个神经网络,它将通过第一层和第二层依次连接在一起,在数据x和y上训练它,最后,你如何在这个神经网络上进行推理,你怎么做前进支柱,如果你有一个新的例子,记作X新,它是具有这两个特性的NP数组,然后进行向前支撑,而不是一层一层地做,你只需要在X新上调用模型预测,这将为你输出相应的2值,给定X的输入值,所以模型预测进行前向传播,或者用这个神经网络为你进行推理,使用序列含糊编译的,现在想把上面的这三行代码简化一点,在张量流中编码时,按照惯例,我们不显式地将这两层分配给两个变量,第一层和第二层如下,但按照惯例,通常只编写这样的代码,其中我们说模型是一个由几层组成地顺序模型,按顺序串在一起,第一层是一个密集层,有三个单元和Z状结肠的激活,第二层是一个密集的层,有一个单元,同样是Z状结肠激活,所以如果你看其他TensorFlow代码,你经常看到它看起来更像这样而不是对第一层和第二层变量进行显式赋值,这也是训练所需的代码,就像对张量流中神经网络的推理一样。
让我们对数字分类示例也重做此操作,所以之前我们有X是这个输入,第一层是一层一层等于第一层应用于X,以此类推,通过第二层和第三层,为了尝试用这种新的编码约定对数字进行分类,利用张量流的序列函数,你可以指定第一、二、三层是什么,并告诉TensorFlow为您将各层串在一起,形成一个神经网络,跟以前一样,然后可以将数据存储在矩阵中,运行编译函数,最后做出预断或预测,就像你以前看到的咖啡分类网络一样,而不是像这样明确的分配第一层第二层第三层,更常见的是,我们只需要将这些层直接放入序列函数中,所以你最终得到了这个更紧凑的代码,你只要告诉张量流,为我创建一个模型,将这三层按顺序串在一起,然后剩下的代码和以前一样工作。