《TensorFlow自然语言处理》—2.5 总结
2.5 总结
在本章中,你通过了解我们实现算法的主要的底层平台(TensorFlow),迈出了解决NLP任务的第一步。首先,我们讨论了TensorFlow架构的基本细节。接下来,我们讨论了一个有意义TensorFlow客户端的基本要素。然后我们讨论了TensorFlow中广泛使用的一般编码规范,称为作用域。后来,我们将所有这些元素组合在一起,实现了一个对MNIST数据集进行分类的神经网络。
具体来说,我们讨论了TensorFlow架构,并使用TensorFlow客户端示例进行说明。在TensorFlow客户端中,我们定义了TensorFlow图。然后,我们创建一个会话,它会查看这个图,创建一个表示图的GraphDef对象,并将其发送给分布式主服务器。分布式主服务器查看图,确定用于计算的相关组件,并将其划分为多个子图以使计算速度更快。最后,worker执行子图并通过会话返回结果。
接下来,我们讨论了构成一个典型TensorFlow客户端的各种元素:输入、变量、输出和操作。输入是我们提供给算法的数据,用于训练和测试。我们讨论了三种不同的输入方式:使用占位符,将数据预加载并存储为TensorFlow张量,以及使用输入管道。然后我们讨论了TensorFlow变量,它们与其他张量如何区别,以及如何创建和初始化它们。在此之后,我们讨论了如何使用变量来创建中间及最终输出。最后,我们讨论了几个可用的TensorFlow操作,例如数学运算、矩阵运算、神经网络相关运算和控制流运算,这些运算将在本书后面使用。
然后,我们讨论了在实现TensorFlow客户端时如何使用作用域来避免某些陷阱。作用域使我们可以轻松使用变量,同时保持代码的封装性。
最后,我们使用所有之前学过的概念实现了一个神经网络,我们使用三层神经网络对MNIST数字数据集进行分类。
在下一章中,将介绍如何使用我们在本章中实现的全连接神经网络来学习单词的语义数值表示。
- 点赞
- 收藏
- 关注作者
评论(0)