本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【组图】神经网络和TensorFlow如何快速入门?此文就够啦(4)

时间:2017-04-22 18:43来源:118论坛 作者:j2开奖直播 点击:
scikit-learn有两个子集:一个用于训练,另一个用于测试。我的建议就是,你不应该看测试数据,因为这会在创建模型的时候会干涉你的选择。你当然不想创

  scikit-learn有两个子集:一个用于训练,另一个用于测试。我的建议就是,你不应该看测试数据,因为这会在创建模型的时候会干涉你的选择。你当然不想创建一个模型来预测这个特定的测试数据,而是需要创建一个具有良好的泛化性能的模型。

  加载数据集:

wzatv:【j2开奖】神经网络和TensorFlow如何快速入门?此文就够啦

  训练模型

  在神经网络术语中, 一次epoch=一个向前传递(得到输出值)和一个向后传递(更新权重)。

  需要记住tf.Session.run()方法么?我们来仔细地瞧一瞧吧。

wzatv:【j2开奖】神经网络和TensorFlow如何快速入门?此文就够啦

  在本文开始的数据流图操作中,你使用的是和操作,但是我们也可以通过一系列的事情来运行。在整个神经网络运行,你要传递两件事:损失计算和优化步骤。

  这个feed_dict参数是我们每一次运行步骤中用来传递数据的,为了传递这些数据我们需要定义tf.placeholders(为feed_dict提供供给)。

  正如TensorFlow文件中说的那样:

  “一个占位符存在的唯一理由就是作为供给的目标,这不是初始化也不包含数据。”

  所以,你可以这样定义定位符:

wzatv:【j2开奖】神经网络和TensorFlow如何快速入门?此文就够啦

  你需要分批次地训练数据:

  “如果使用占位符进行输入,则可以通过使用tf.placeholder(...,shape = [None,...])创建占位符来指定变量批量维度。该形状的“None”元素对应于可变大小的维度”

  在测试模型的时候,我们用一个更大的批次来供给,这就是为什么你需要定义一个变量批维度。

  这个get_batches()函数可以为我们提供文本的数量与批量的大小,现在我们可以运行这个模式(点图放大):

wzatv:【j2开奖】神经网络和TensorFlow如何快速入门?此文就够啦

  现在你有了这个训练好的模型。要测试它,你还需要创建图形元素,我们将测量模型的准确性,所以你需要预报值的索引和正确值的索引(因为我们使用的是一个独热编码),检查他们是否相等,并计算所有的测试数据集的平均值(点图放大):

wzatv:【j2开奖】神经网络和TensorFlow如何快速入门?此文就够啦

  就是它!你使用神经网络创建了一个模型来对文本进行类别分类。恭喜你!

  你可以在这里看到最终代码

  https://github.com/dmesquita/understanding_tensorflow_nn

  提示:修改我们定义的值,以查看不同更改对训练时间和模型精度的影响。

  原文链接:

  https://medium.freecodecamp.com/big-picture-machine-learning-classifying-text-with-neural-networks-and-tensorflow-d94036ac2274

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容